Hej!
Jeg har problemer med en cookie, som jeg bruger således, at folk ikke kan afgive stemme på hver film på min hjemmeside mere end én gang. Det underlige er, at jeg ikke har ændret på noget af betydning, men lige pludselig virker den ikke. Selve karakterdelen ser sådan ud:
if (!$_COOKIE[$id])
{
echo "Her kan du give filmen en karakter (1 er værst og 5 er bedst).
<form method=\\"POST\\" action=\\"visfilm.php?id=$id\\">
1<input type=\\"radio\\" name=\\"karakter\\" value=\\"1\\">
<input type=\\"radio\\" name=\\"karakter\\" value=\\"2\\">
<input type=\\"radio\\" name=\\"karakter\\" value=\\"3\\">
<input type=\\"radio\\" name=\\"karakter\\" value=\\"4\\">
<input type=\\"radio\\" name=\\"karakter\\" value=\\"5\\"> 5<br><br>
<input type=\\"submit\\" name=\\"submitrate\\" value=\\"Send\\">
</form>
<br><br>
";
if($_POST['submitrate'])
{
$karakter = $_POST['karakter'];
$query = mysql_query("SELECT * FROM film WHERE id = $id");
$row = mysql_fetch_array($query);
$total = $row['total'] + $karakter;
$stemmer = $row['stemmer'];
$stemmer++;
$snit = $total / $stemmer;
mysql_query("UPDATE film SET total = $total, stemmer = $stemmer, snit = $snit WHERE id = $id");
setcookie($id,'1',time()+315576000);
}
}
Jeg har tjekket om cookien overhovedet bliver gemt, og det gør den ikke. Så det er altså ikke den del, hvor der bliver tjekket, om cookien er der, der er problemet. Hvis det er til nogen hjælp, ser hele siden sådan ud:
<?
session_start();
$id = $_GET['id'];
if (empty($id))
{
header("Location: film.php");
}
include('header.php');
require('connect.php');
$sql = mysql_query("SELECT * FROM film WHERE id = $id");
$row = mysql_fetch_array($sql);
$approved = $row['approved'];
if($approved == 1)
{
$id = $row['id'];
$dato = $row['dato'];
$titel = $row['titel'];
$genre = $row['genre'];
$formaal = $row['formaal'];
$skole = $row['skole'];
$niveau = $row['niveau'];
$produktionsaar = $row['produktionsaar'];
$spilletid = $row['spilletid'];
$aar = substr($dato,0,4);
$maaned = substr($dato,4,2);
$dag = substr($dato,6,2);
$kommentarer = $row['kommentarer'];
$dato = $dag . "/" . $maaned . " " . $aar;
$dirlink = $row['dirlink'];
echo "</td><td class=\\"narrow\\"></td></tr></table>";
echo "<center><embed style=\\"width:800px; height:652px;\\" id=\\"VideoPlayback\\" type=\\"application/x-shockwave-flash\\" src=\\"http://video.google.com/googleplayer.swf?docId=$dirlink&hl=en\\" FlashVars=\\"autoPlay=true\\" ></embed></center>";
echo "<table align=\\"center\\"><tr><td class=\\"narrow\\"></td><td class=\\"medium\\">";
echo "<br><br>";
echo "<table class=\\"info\\">";
$stemmer = $row['stemmer'];
$snit = $row['snit'];
$snit = round($snit,2);
if ($snit == 0.00)
{
$snit = "";
}
echo "<tr><td valign=\\"top\\"><p class=\\"bold\\">Titel</p></td><td>$titel</td></tr>";
echo "<tr><td valign=\\"top\\"><p class=\\"bold\\">Genre</p></td><td>$genre</td></tr>";
echo "<tr><td valign=\\"top\\"><p class=\\"bold\\">Formål</p></td><td>$formaal</td></tr>";
echo "<tr><td valign=\\"top\\"><p class=\\"bold\\">Skole</p></td><td>$skole</td></tr>";
echo "<tr><td valign=\\"top\\"><p class=\\"bold\\">Niveau</p></td><td>$niveau</td></tr>";
echo "<tr><td valign=\\"top\\"><p class=\\"bold\\">Produktionsår</p></td><td>$produktionsaar</td></tr>";
echo "<tr><td valign=\\"top\\"><p class=\\"bold\\">Spilletid</p></td><td>$spilletid</td></tr>";
echo "<tr><td valign=\\"top\\"><p class=\\"bold\\">Karakter</p></td><td>$snit ($stemmer stemmer)</td></tr>";
echo "<tr><td valign=\\"top\\"><p class=\\"bold\\">Uploadet</p></td><td>$dato</td></tr>";
echo "<tr><td valign=\\"top\\"><p class=\\"bold\\">Kommentarer</p></td><td>$kommentarer</td></tr>";
echo "</table>";
echo "<br><br><br>";
if (!$_COOKIE[$id])
{
echo "Her kan du give filmen en karakter (1 er værst og 5 er bedst).
<form method=\\"POST\\" action=\\"visfilm.php?id=$id\\">
1<input type=\\"radio\\" name=\\"karakter\\" value=\\"1\\">
<input type=\\"radio\\" name=\\"karakter\\" value=\\"2\\">
<input type=\\"radio\\" name=\\"karakter\\" value=\\"3\\">
<input type=\\"radio\\" name=\\"karakter\\" value=\\"4\\">
<input type=\\"radio\\" name=\\"karakter\\" value=\\"5\\"> 5<br><br>
<input type=\\"submit\\" name=\\"submitrate\\" value=\\"Send\\">
</form>
<br><br>
";
if($_POST['submitrate'])
{
$karakter = $_POST['karakter'];
$query = mysql_query("SELECT * FROM film WHERE id = $id");
$row = mysql_fetch_array($query);
$total = $row['total'] + $karakter;
$stemmer = $row['stemmer'];
$stemmer++;
$snit = $total / $stemmer;
mysql_query("UPDATE film SET total = $total, stemmer = $stemmer, snit = $snit WHERE id = $id");
setcookie($id,'1',time()+315576000);
}
}
echo "<form method=\\"POST\\" action=\\"visfilm.php?id=$id\\">
Her kan du skrive dine kommentarer (gerne konstruktiv kritik) til filmen.<br><br>
Navn
<br>
<input type=\\"text\\" name=\\"navn\\">
<br><br>
Besked
<br>
<textarea rows=\\"7\\" cols=\\"25\\" name=\\"besked\\"></textarea>
<br><br>
Sikkerhedskode<br>
<input type=\\"text\\" name=\\"captcha\\" size=\\"5\\"/>
<img class=\\"captcha\\" src=\\"captcha.php\\" />
<br><br>
<input type=\\"submit\\" name=\\"submitkom\\" value=\\"Send\\">
<br>
</form>";
if (isset($_POST['submitkom']))
{
$dato = date("YmdHi");
$navn = $_POST['navn'];
$besked = $_POST['besked'];
$captcha = $_POST['captcha'];
$navn = htmlentities($navn);
$besked = htmlentities($besked);
$besked = nl2br($besked);
if(empty($navn) || empty($besked) || empty($captcha))
{
echo "<script type=\\"text/javascript\\">alert('Du har ikke udfyldt alle de påkrævede felter.');</script>";
}
else
{
if(strtolower($navn) == "bigfoot")
{
echo "<script type=\\"text/javascript\\">alert('Du må ikke bruge dette navn til at skrive kommentarer med! Skriv et andet navn og prøv igen.');</script>";
}
else
{
if (md5(strtolower($_POST['captcha'])) == $_SESSION['key'])
{
$sql = "INSERT INTO kritik (filmid,dato,navn,besked) VALUES ('$id','$dato','$navn','$besked')";
mysql_query($sql);
}
else
{
echo "<script type=\\"text/javascript\\">alert('Du har ikke udfyldt de påkrævede felter korrekt.');</script>";
}
}
}
}
$sql = mysql_query("SELECT * FROM kritik WHERE filmid = $id ORDER BY dato DESC");
while($row = mysql_fetch_array($sql))
{
$dato = $row['dato'];
$aar = substr($dato,0,4);
$maaned = substr($dato,4,2);
$dag = substr($dato,6,2);
$timer = substr($dato,8,2);
$minutter = substr($dato,10,2);
$dato = $dag . "/" . $maaned . " " . $aar . " " . $timer . ":" . $minutter;
$navn = $row['navn'];
$besked = $row['besked'];
echo "<br><br><br><p class=\\"bold\\">$navn - $dato</p><br>$besked";
}
}
?>
<? include('footer.php'); ?>