Avatar billede Xelot Nybegynder
26. marts 2003 - 11:50 Der er 9 kommentarer og
1 løsning

Cookies.. når de er MEST irriterende

Hey.. nu har jeg siddet med denne her cookie ting LÆNGE og kan SIMPELTHEN ikke finde rundt i det længere..

Jeg laver et website-voting system hvor at når brugeren har givet en karakter ikke kan stemme mere på det samme websted.

Brugeren stemmer via en formular. I formularen (grade.php) er der en skjult boks med navnet på websitet (kaldet $navn2) denne boks henter sin value fra url'en hvor jeg definerer variablen.

Formularen sender selve karakteren som $point

Koden:
<? if($navn2) setcookie($navn2,$point,time()+456231231123123123123456456456789); ?>

<?
include "../../config.php"; //mysql info
if($navn2){
echo "du har givet dette website karakteren $point<br>";
mysql_query("INSERT INTO websites_jugde(point,navn,user)VALUES('$point','$navn2','$user')");
}
else
{

include "grade.php"; //formularen
if($data_send){

mysql_query("INSERT INTO websites_jugde(point,navn,user)VALUES('$point','$navn2','$user')");
echo "<a href=\"get.php?num=1\" onclick=\"java script:window.close()\">Klik her for at lukke vinduet</a>";

}
else
{
exit;
}
}
?>

Men når jeg stemmer, så kan jeg stadig stemme.. hvorfor det..?! det er ligesom den ikke opretter cookien.
prøv selv på www.znup.dk/community/websites/get_.php?num=1
Avatar billede exp Juniormester
26. marts 2003 - 12:05 #1
Kan ikke lige se hvad der er galt, men her er der ihvertfald en god artikel der viser hvordan man kan lave et udemærket databasestyret afstemningssystem

http://www.udvikleren.dk/show_article.php?id=155
Avatar billede andy Nybegynder
26. marts 2003 - 12:19 #2
Du roder rundt med cookies og GET/POST variabler med samme navn.

if($navn2){
skal være:
if ($_COOKIE["$navn2"]){
Avatar billede Xelot Nybegynder
26. marts 2003 - 12:31 #3
Det er rettet nu.. men virker stadig ikke..?! er der en helt anden måde at gøre det på måske.?!
Avatar billede exp Juniormester
26. marts 2003 - 12:52 #4
znup.dk >>
har du kigget på den side jeg linker til?
Avatar billede Xelot Nybegynder
26. marts 2003 - 12:59 #5
exp>> Ja.. al den tekst virker uoverskueligt og jeg vil ikke læse den medmindre du kan garantere at jeg kommer nogen veje ved det..
Avatar billede exp Juniormester
26. marts 2003 - 13:08 #6
jeg bruger det selv... det virker
Avatar billede Xelot Nybegynder
26. marts 2003 - 14:09 #7
Hmm ja.. men det er jo næsten lige før det er alt for avanceret for mig.. det er et smukt script.. :) Men kan ikke rigtig tilpasses mit system. Der skal jo laves en ekstra handling som også gemmer/henter websitenavn.
Avatar billede sonnyvj Nybegynder
26. marts 2003 - 16:46 #8
$navn2=$HTTP_COOKIE_VARS[$navn2];
<? if($navn2!="") setcookie($navn2,$point,time()+456231231123123123123456456456789); ?>

<?
include "../../config.php"; //mysql info
if($navn2!=""){
echo "du har givet dette website karakteren $point<br>";
mysql_query("INSERT INTO websites_jugde(point,navn,user)VALUES('$point','$navn2','$user')");
}
else
{

include "grade.php"; //formularen
if($data_send){

mysql_query("INSERT INTO websites_jugde(point,navn,user)VALUES('$point','$navn2','$user')");
echo "<a href=\"get.php?num=1\" onclick=\"java script:window.close()\">Klik her for at lukke vinduet</a>";

}
else
{
exit;
}
}
?>
Prøv lige det her $navn2=$HTTP_COOKIE_VARS[$navn2];// henter navn2 fra cookie
Avatar billede Xelot Nybegynder
26. marts 2003 - 22:35 #9
sonnyvj>> hmm det virker ikke.. det er lisom at php ikke sætter noget ind i mysql.
Avatar billede Xelot Nybegynder
30. marts 2003 - 23:34 #10
Jeg lukker spørgsmålet, har opgivet det.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester