skal stemme 2 gange før det virker
Jeg har tidligere lagt dette spørgsmål op, men uden at få svar, så jeg prøver lige igen. Jeg har lavet en afstemning, men jeg skal stemme 2 gange, før jeg får resultatet af afstemningen at se. Kan det være et cookie-problem eller er der kodet forkert et andet sted. Se her:<?php
global $cookieprefix;
if(isset($_REQUEST['action'])) {
if($_REQUEST['action'] == "vote") {
$conn = mysql_connect ("xxxxxxxx","xxxxxxxx","xxxxxxxx");
mysql_select_db("boldsens_dk");
mysql_query("UPDATE pollanswer SET hits = hits+1 WHERE questionid = '$_REQUEST[questionid]' AND id = '$_REQUEST[id]'");
mysql_close($conn);
setcookie($cookieprefix."stem", "true", time()+999999);
}
}
?>
<?
function HaveVoted() {
global $cookieprefix;
if($_COOKIE[$cookieprefix."stem"]) {
return true;
} else {
return false;
}
}
function ShowResults() {
########## POLL QUESTION ##########
$kode .= "<table>\n";
$conn = mysql_connect ("xxxxxxxx","xxxxxxxx","xxxxxxxx");
mysql_select_db("boldsens_dk");
$result = mysql_query("select * from pollquestion WHERE start <= now() AND end >= now()");
while ($row = mysql_fetch_array($result)) {
$kode .= "<tr><td colspan=\"2\">" . htmlentities($row["question"]) . "</td></tr>\n";
$questionid = $row["questionid"];
}
########## SUM OF POLLANSWERS ##########
$result = mysql_query("select sum(hits) as hits from pollanswer where questionid = '$questionid'");
while ($row = mysql_fetch_array($result)) {
$sum = $row["hits"];
}
$result = mysql_query("select * from pollanswer WHERE questionid = '$questionid'");
while ($row = mysql_fetch_array($result)) {
$percent = 0;
if($row["hits"] > 0) {
$percent = ($row["hits"] * 100) / $sum;
}
$kode .= "<tr><td>" . htmlentities($row["answer"]) . "</td>";
$kode .= '<td><img src="Pics/bar.jpg" style="width: ' . $percent . 'px; height: 12px; border: 0px;" alt=""></td>';
$kode .= "<td>" . round($percent , 1). "%</td></tr>\n";
}
$kode .= "<td><tr><td colspan=\"2\">$sum stemme(r) i alt</td></tr>\n";
mysql_close($conn);
$kode .= "</table>\n";
########## VOTE ##########
if($_REQUEST[action] == "vote") {
$conn = mysql_connect ("xxxxxxxx","xxxxxxxx","xxxxxxxx");
mysql_select_db("boldsens_dk");
mysql_query("UPDATE pollanswer SET hits = hits + 1 WHERE questionid = '$_REQUEST[questionid]' AND id = '$_REQUEST[id]'");
mysql_close($conn);
}
return $kode;
}
function ShowPoll() {
########## POLL QUESTION ##########
$kode .= "<form action=\"index.php?action=vote\" method=\"post\">\n";
$kode .= "<table>\n";
$conn = mysql_connect("xxxxxxxx", "xxxxxxxx", "xxxxxxxx");
mysql_select_db("boldsens_dk");
$result = mysql_query("select * from pollquestion WHERE start <= now() AND end >= now()");
while ($row = mysql_fetch_array($result)) {
$kode .= "<tr><td>" . htmlentities($row[question]) . "</td></tr>\n";
$questionid = $row[questionid];
}
########## POLL ANSWERS ##########
$result = mysql_query("select * from pollanswer WHERE questionid = '$questionid'");
while ($row = mysql_fetch_array($result)) {
$kode .= "<tr><td><input type=\"radio\" name=\"id\" value=\"" . $row["id"] . "\">" . $row["answer"]."</td></tr>\n";
}
$kode .= "<tr><td><input type=\"hidden\" name=\"questionid\" value=\"$questionid\">\n";
$kode .= "<br>";
$kode .= "<input type=\"submit\" value=\"Stem\"></td></tr>\n";
$kode .= "</table>\n";
$kode .= "</form>\n";
return $kode;
}
if(HaveVoted() == true) {
echo ShowResults();
} else {
echo ShowPoll();
}
if(HaveVoted() == true) {
echo "Du har stemt";
} else {
echo "Du har ikke stemt";
}
?>
Kan I gennemskue den?
