form vil ikke kalde function
hejsa jeg har et poll script i filen poll.phpmit problem ligger i jeg ikke kan få min poll form til at kalde functionen CastVote, har siddet i et par timer med denne hovedepine nu, håber der er nogen der kan se mit problem og afhjælpe det, her følger lidt kode:
<-- poll.php -->
$cookieprefix = "a_poll";
$redirectto = "index.php";
function HaveVoted($pid) {
global $cookieprefix;
if(($_COOKIE[$cookieprefix."vote".$pid]) AND ($_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 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 polls where id='$pid'");
if(mysql_num_rows($query) > 0)
{
$q = stripslashes(mysql_result($query, 0, "question"));
$num = mysql_result($query, 0, "numofanswers");
$kode .= "<P align=center><FONT face=\"Verdana, Arial, Helvetica, sans-serif\" size=1>".$q."</p>";
$kode .= "<form action=\"poll.php\" method=\"post\">";
$i = 1;
$kode .= "<TABLE borderColor=#2a0000 cellSpacing=0 cellPadding=0 width=150 bgColor=#ece9d8 border=1><tbody>";
while($i != $num+1) {
$a = stripslashes(mysql_result($query, 0, "answer".$i));
$kode .= "<TR><TD borderColor=#ece9d8 width=25><INPUT type=radio name=\"vid\" value=\"$i\"></TD><TD borderColor=#ece9d8><FONT face=\"Verdana, Arial, Helvetica, sans-serif\" size=1>".$a."</FONT></TD></TR>";
$i++;
}
$kode .= "<input type=\"hidden\" name=\"pid\" value=\"$pid\" />";
$kode .= "</table>";
$kode .= "<br /><INPUT type=image height=14 width=50 src=\"images/knap-stem.gif\" name=\"do_vote\" value=\"submit\">";
$kode .= "</form>";
}
return $kode;
}
function ShowResults($pid) {
global $dbtable_polls; global $dbtable_pollvotes;
$query = mysql_query("select * from polls where id='$pid'");
$q = stripslashes(mysql_result($query, 0, "question"));
$num = mysql_result($query, 0, "numofanswers");
$kode .= "<div class=\"poll\">$q</div><br /><br />";
$votesquery = mysql_query("select count(id) from pollvotes where pollid='$pid'");
$totalvotes = mysql_result($votesquery, 0, 0);
$i = 1;
$kode .= "<table style=\"width: 90%; border: 1px solid black;\">";
while($i != $num+1) {
$a = stripslashes(mysql_result($query, 0, "answer".$i));
$resultquery = mysql_query("select count(id) from 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>$a:</div></td>";
$kode .= "</tr><tr>";
$kode .= "<td style=\"width: 100%;\"><span style=\"width: $average%; background-color: #A0BBD0; border: 1px solid black\"></td>";
$kode .= "<td></span> <span style=\"text-align: right; font-weight: bold;\">$average%</span></td>";
$kode .= "</tr>";
$i++;
}
$kode .= "</table>";
$kode .= "<br /><div class=poll>Stemmer i alt:<br /><b>$totalvotes</b></div>";
return $kode;
}
<-- poll.php SLUT -->
<-- index.php -->
$pid = 1;
if($_POST[do_vote] and $_POST[pid] and $_POST[vid]) {
CastVote($_POST[pid], $_POST[vid]);
}
if(HaveVoted($pid) == true) {
echo ShowResults($pid);
}
else {
echo ShowPoll($pid);
}
<-- index.php SLUT -->
problemet er altså at functionen CastVote slet ikke kaldes, og jeg kan ikke umiddelbart se fejlen
