18. november 2004 - 17:56Der er
5 kommentarer og 1 løsning
Cookie-problemer
Hejsa. Jeg har problemer (med mine cookie tror jeg). Jeg har lavet en afstemning, men jeg får altid vist resultatet når jeg går ind på siden. Man får aldrig muligheden for at stemme - heller ikke på en computer, som aldrig har været inde på siden før. Kan I fikse det?
Øverst i index.php: <? function VoteNow() { global $cookieprefix; if(!$_REQUEST[action]) { if($_REQUEST[action] == "vote") { $conn = mysql_connect ("xxxxxxx","xxxxxxx","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); } } } ?>
Der hvor jeg ønsker afstemningen: <? if(HaveVoted() != true) { echo VoteNow(); echo ShowResults(); } else { echo ShowPoll(); }
function HaveVoted() { global $cookieprefix; if($_COOKIE[$cookieprefix."stem"]) { return true; } else { return false; } } ?>
Der bliver investeret massivt i AI. Teknologien er mere tilgængelig end nogensinde, og ambitionerne er høje. Alligevel oplever mange virksomheder, at resultaterne udebliver.
Ja det er rettet. Sorry guys, men jeg opdagede lige en fejl i det jeg lagde ud før her kommer lige den opdaterede funktion. Nu er problemet, at jeg kun får muligheden for at stemme, og aldrig ser resultatet af afstemningen. Altså omvendt fra før. Sorry. Den udskriver altså her "har ikke stemt".
<?php function VoteNow() { global $cookieprefix; if(isset($_REQUEST['action'])) { if($_REQUEST['action'] == "vote") { $conn = mysql_connect ("xxxxxxx","xxxxxxx","xxxxxxx"); 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); } } } ?>
$kode .= "<table>\n"; $conn = mysql_connect ("xxxxxxx","xxxxxx","xxxxxxx"); 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"];
$conn = mysql_connect("xxxxxxx", "xxxxxxx", "xxxxxxx"); mysql_select_db("boldsens_dk"); $result = mysql_query("select * from pollquestion WHERE start <= now() AND end >= now()");
Jeg har puslet lidt mere med det. Og nu er mit eneste problem, at man skal stemme 2 gange før man får vist sit afstemningsresultat. Koden ser sådan her ud:
<?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"]; }
$conn = mysql_connect("xxxxxxxx", "xxxxxxxx", "xxxxxxxx"); mysql_select_db("boldsens_dk"); $result = mysql_query("select * from pollquestion WHERE start <= now() AND end >= now()");
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.