PHP
Hvordan skal en cookie se ud til dette afstemnings script (cookien skal gøre sådan at man kun kan stemme en gang) ?
<?
if ($action == \"poll\") {
if ($a == \"1\") {
include(\"include/db_ind.php\");
$result = mysql_query(\"select resultat_1 from afstemning where id = \'$id\'\");
$row = mysql_fetch_array($result);
$stemmer = $row[resultat_1];
$stemmer_nu = $stemmer + 1;
mysql_query(\"update afstemning set resultat_1 = \'$stemmer_nu\' where id = \'$id\'\");
}
if ($a == \"2\") {
include(\"include/db_ind.php\");
$result = mysql_query(\"select resultat_2 from afstemning where id = \'$id\'\");
$row = mysql_fetch_array($result);
$stemmer = $row[resultat_2];
$stemmer_nu = $stemmer + 1;
mysql_query(\"update afstemning set resultat_2 = \'$stemmer_nu\' where id = \'$id\'\");
}
if ($a == \"3\") {
include(\"include/db_ind.php\");
$result = mysql_query(\"select resultat_3 from afstemning where id = \'$id\'\");
$row = mysql_fetch_array($result);
$stemmer = $row[resultat_3];
$stemmer_nu = $stemmer + 1;
mysql_query(\"update afstemning set resultat_3 = \'$stemmer_nu\' where id = \'$id\'\");
}
}
?>
<?php if ($action == \"poll\") { ?>
<?
include(\"include/db_ind.php\");
$result = mysql_query(\"select resultat_1, resultat_2, resultat_3, svar_1, svar_2, svar_3, sporgsmaal from afstemning where id = \'$id\'\");
$row = mysql_fetch_array($result);
$i_alt = $row[resultat_1] + $row[resultat_2] + $row[resultat_3];
$procent[1] = 100 / $i_alt * $row[resultat_1];
$procent[2] = 100 / $i_alt * $row[resultat_2];
$procent[3] = 100 / $i_alt * $row[resultat_3];
$round[1] = round($procent[1]);
$round[2] = round($procent[2]);
$round[3] = round($procent[3]);
$ny_procent[1] = $procent[1] / 4 * 3;
$ny_procent[2] = $procent[2] / 4 * 3;
$ny_procent[3] = $procent[3] / 4 * 3;
echo \"<DIV STYLE=text-align:center>$row[sporgsmaal]</DIV>\";
echo \" $row[svar_1]:\";
echo \"<TABLE width=100%>
<TR>
<TD><IMG SRC=images/afs.gif WIDTH=$round[1] HEIGHT=10></TD><TD>$round[1]%</TD>
</TR>
</TABLE>\";
echo \" $row[svar_2]:\";
echo \"<TABLE width=100%>
<TR>
<TD><IMG SRC=images/afs.gif WIDTH=$round[2] HEIGHT=10></TD><TD>$round[2]%</TD>
</TR>
</TABLE>\";
echo \" $row[svar_3]:\";
echo \"<TABLE width=100%>
<TR>
<TD><IMG SRC=images/afs.gif WIDTH=$round[3] HEIGHT=10></TD><TD>$round[3]%</TD>
</TR>
</TABLE>\";
} else {
include(\"include/db_ind.php\");
$result = mysql_query(\"SELECT resultat_1, resultat_2, resultat_3, svar_1, svar_2, svar_3, sporgsmaal FROM afstemning where id = \'1\'\");
$row = mysql_fetch_array($result);
print \"<form action=start.php?action=poll&id=1 method=post><DIV STYLE=text-align:center>$row[sporgsmaal]</DIV>\";
print \"<DIV STYLE=text-align:left><input type=radio name=a value=1 >$row[svar_1]<BR>\";
print \"<input type=radio name=a value=2 >$row[svar_2]<BR>\";
print \"<input type=radio name=a value=3 >$row[svar_3]</DIV><BR>\";
print \"<DIV STYLE=text-align:center><input type=submit value=Stem class=button>\";
}
?>
Skrevet søn. d. 03. juni 2001 kl. 18:43:54| #1
setcookie(\"kage\",\"kagemand\", time()+60, \"/\", \".webside.dk\"); // Sæt kage
Skrevet søn. d. 03. juni 2001 kl. 18:44:47| #2
Jeg foretrækker dog java:
<SCRIPT LANGUAGE=\"JavaScript\">
<!--
var d_exp = new Date();
d_exp.setTime (d_exp.getTime() + 24 * ( 60 * 60 * 1000)); // 1 dag
function writeCookie(name, value, expires)
{
expires = expires.toGMTString();
document.cookie = name + \"=\" + escape(value) + \"; expires=\" + expires + \";\";
}
function ordvalg()
{
writeCookie(\'kage\',\'kagemand\', d_exp);
}
-->
</script>
Skrevet søn. d. 03. juni 2001 kl. 18:47:46| #3
bigo:> JavaScript er IKKE Java.
Skrevet søn. d. 03. juni 2001 kl. 18:48:11| #4
Det er da ikke Java, det er JavaScript. Men her er et gratis vink:
$result = mysql_query(\"select resultat_1 from afstemning where id = \'$id\'\");
$row = mysql_fetch_array($result);
$stemmer = $row[resultat_1];
$stemmer_nu = $stemmer + 1;
mysql_query(\"update afstemning set resultat_1 = \'$stemmer_nu\' where id = \'$id\'\");
kan erstattets af:
mysql_query(\"update afstemning set resultat_1 = resultat_1+1 where id = \'$id\'\");
Skrevet søn. d. 03. juni 2001 kl. 18:52:24| #5
i know.. java er ikke javascript.. i know.. men det var desværre det jeg fik sagt.. sorry.. undskyld .. skal aldrig ske igen (duh...) ;-)
Skrevet søn. d. 03. juni 2001 kl. 19:04:15| #6
-- bigo
HVis jeg indsætter:
<SCRIPT LANGUAGE=\"JavaScript\">
<!--
var d_exp = new Date();
d_exp.setTime (d_exp.getTime() + 24 * ( 60 * 60 * 1000)); // 1 dag
function writeCookie(name, value, expires)
{
expires = expires.toGMTString();
document.cookie = name + \"=\" + escape(value) + \"; expires=\" + expires + \";\";
}
function ordvalg()
{
writeCookie(\'kage\',\'kagemand\', d_exp);
}
-->
</script>
Så skal der stå noget andet i stedet for kage og kagemand ! Hvad ?
Skrevet søn. d. 03. juni 2001 kl. 19:19:38| #7
kage er navnet på kagen
så vil der i dit cookie dir og/eller temporary internet files dir ligge dennism@website.dk
hvor navnet er (i f.eks. PHP) $kage og kagemand er værdien.
Så du kan kalde kage afstemning og kagemand for stemmer
Skrevet søn. d. 03. juni 2001 kl. 20:07:10| #8
Hvorfor foretrækker du cookies med javascr??
Skrevet søn. d. 03. juni 2001 kl. 20:13:29| #9
fordi der sætter jeg cookien med det samme så når jeg laver en reload af siden .. så er den sat og mine check for cookies virker med det samme..
Skrevet søn. d. 03. juni 2001 kl. 22:39:13| #10
Er det ikke en der kan hjælpe mig med at lave en normal cookie til mit script ?
Skrevet man. d. 04. juni 2001 kl. 00:24:08| #11
setcookie(\"afstemning\",\"resultat\", time()+60, \"/\", \".webside.dk\");
Skrevet man. d. 04. juni 2001 kl. 00:24:56| #12
det er en normal cookie.. javaSCRIPT tingen er det samme.. den sætter bare cookien nu. Denne sættes aktiv når du aktiverer PHPén igen.
Skrevet man. d. 04. juni 2001 kl. 00:39:48| #13
Den der, bigo, med at virke med det samme klarer jeg med
$afstemning=\"resultat\";
setcookie(\"afstemning\",$afstemning, time()+60, \"/\", \".webside.dk\");
Det virker rigtigst at gøre på serveren, så du er uafhængig af om der
er JavaScript på klienten
Skrevet man. d. 04. juni 2001 kl. 09:23:11| #14
-- erikjacobsen
Skal jeg så skrive noget i stedet for \"Resultat\" ?
Skrevet man. d. 04. juni 2001 kl. 10:53:48| #15
Spørg bigo - det er da vist ham, der hjælper dig her
Skrevet tir. d. 05. juni 2001 kl. 00:17:34| #16
--dennism>> sorry jeg har været væk..
du kan i stedet for \"resultat\" skrive en hvilken som helst tekst eller f.eks. - som i erikj´s eksempel - en parameter. Det styrer du helt selv.
-- erikj>> Det har du ret i. Jeg havde det problem at jeg ville lave en \"afstemning\" og når brugeren havde klikket på et link så skulle cookien sættes således at når du havde reloadet phpsiden skulle den checke for cookien så du ikke kunne stemme igen. Og der ville den altid lade brugeren stemme 2 gange. (Det var jeg ikke tilfreds med..)
Skrevet tor. d. 07. juni 2001 kl. 07:47:57| #17
Jeg kan ikke få det til at virke, så jeg snupper selv mine points !
Skrevet tor. d. 07. juni 2001 kl. 14:50:17| #18
k.. sig til hvis du stadig vil have det til at virke...;-)