Hej
Jeg sidder og kæmper lidt med Kaspers glimrende artikel omkring en afstemningsboks
http://udvikleren.dk/Article.aspx?tech=6&id=115 og er stødt på et problem som jeg håber I kan hjælpe mig med.
Jeg har følgende to filer:
poll.php
<?
$db = mysql_connect('host', 'bruger', 'password');
if(!$db){
die('Not connected : ' . mysql_error());
}
mysql_select_db("web115029",$db);
include "pollfunctions.php";
$pid = "1"; // $pid kan som sagt hentes ud af databasen, eller den kan bare sættes manuelt som her
if(HaveVoted($pid) == true) {
echo ShowResults($pid);
} else {
echo ShowPoll($pid);
}
?>
pollfunctions.php
<?
$dbtable_polls = "drm_polls";
$dbtable_pollvotes = "drm_pollvotes";
$cookieprefix = "drm";
$redirectto = "http://denrigtigemening.dk/test2/php/poll.php";
function HaveVoted($pid) {
global $cookieprefix;
if(($_COOKIE[$cookieprefix."vote".$pid]) && ($_COOKIE[$cookieprefix."poll".$pid] == $pid)) {
return true;
} else {
return false;
}
}
function CastVote($pid, $vote) {
global $dbtable_pollvotes; global $cookieprefix; global $redirectto;
if(HaveVoted($pid) != true) {
$addvote = mysql_query("insert into $dbtable_pollvotes (pollid, vote) values ('$pid','$vote')");
setcookie($cookieprefix."vote".$pid, $vote, time()+999999999);
setcookie($cookieprefix."poll".$pid, $pid, time()+999999999);
header("location: $redirectto");
}
}
function ShowPoll($pid) {
global $dbtable_polls;
$query = mysql_query("select * from $dbtable_polls where id='$pid'");
if(mysql_num_rows($query) > 0)
{
$q = stripslashes(mysql_result($query, 0, "question"));
$num = mysql_result($query, 0, "numofanswers");
$kode .= "<div class=\\"pollquestion\\">$q</div>";
$kode .= "<form action=\\"poll.php\\" method=\\"post\\">";
$i = 1;
while($i != $num+1) {
$a = stripslashes(mysql_result($query, 0, "answer".$i));
$kode .= "<div class=\\"pollanswer\\"><input type=\\"radio\\" name=\\"vid\\" value=\\"$i\\" />$a</div>";
$i++;
}
$kode .= "<input type=\\"hidden\\" name=\\"pid\\" value=\\"$pid\\" />";
$kode .= "<br /><input type=\\"submit\\" name=\\"do_vote\\" value=\\" - Stem - \\" class=\\"button\\" />";
$kode .= "</form>";
}
return $kode;
}
function ShowResults($pid) {
global $dbtable_polls; global $dbtable_pollvotes;
$query = mysql_query("select * from $dbtable_polls where id='$pid'");
$q = stripslashes(mysql_result($query, 0, "question"));
$num = mysql_result($query, 0, "numofanswers");
$kode .= "<div class=\\"pollquestion\\">$q</div>";
$votesquery = mysql_query("select count(id) from $dbtable_pollvotes where pollid='$pid'");
$totalvotes = mysql_result($votesquery, 0, 0);
$i = 1;
$kode .= "<table style=\\"width: 95%;\\" class=\\"text\\">";
while($i != $num+1) {
$a = stripslashes(mysql_result($query, 0, "answer".$i));
$resultquery = mysql_query("select count(id) from $dbtable_pollvotes
where pollid='$pid' and vote='$i'");
$votes = mysql_result($resultquery, 0, 0);
if($votes > 0) {
$average = round(100 * $votes / $totalvotes, 2);
} else {
$average = "0";
}
$kode .= "<tr>";
$kode .= "<td colspan=\\"2\\"><div class=\\"pollanswer\\">$a:</div></td>";
$kode .= "</tr><tr>";
$kode .= "<td style=\\"width: 75%;\\"><span class=\\"pollbar\\" style=\\"width: $average%;\\"></td>";
$kode .= "<td></span> <span style=\\"text-align: right; font-weight: bold;\\">$average%</span></td>";
$kode .= "</tr>";
$i++;
}
$kode .= "</table>";
$kode .= "<br /><div style=\\"text-align: center;\\">Stemmer i alt:<br /><b>$totalvotes</b></div>";
return $kode;
}
?>
I min database har jeg tabellerne som er 100% identiske med hvad Kasper forskriver i artiklen og connectionen til dem er iorden, fordi jeg modtager ingen fejl der.
drm_pollsdrm_pollvotesPoll'en kan I se her:
www.denrigtigemening.dk/test2/php/poll.phpMit problem er der sker intet når jeg trykker på -Stem-. Der skrives ikke til databasen og der sættes ingen cookie. Hvad gør jeg forkert?
Med venlig hilsen
Jonas
Indlæg senest redigeret d. 05.07.2006 16:33 af Bruger #7041