webForumDet fria alternativet

Set Cookie

4 svar · 318 visningar · startad av SoulGod

SoulGodMedlem sedan aug. 20051 395 inlägg
#1

Gjorde en lösning för detta förut,
genom att enkelt använda
setcookie("vote", "yes");

Men nu har den ( av någon konstig anledning ) slutat fungera.
Cookien sparas inte, och när jag skriver ut den så blir den "no",
trots att jag sätter den som yes.

Koden som sätter den till "yes" ser ut som följer:

function vote() {
	$id = mysql_real_escape_string($_GET['id']);
	$ip = mysql_real_escape_string($_GET['ip']);
	$svar = mysql_real_escape_string($_GET['svar']);
	if (mysql_real_escape_string($_GET['vote']) == "yes") {
	mysql_query("INSERT INTO poll_svar (fraga, svar, ip) values ('$id', '$svar', '$ip')");
 ;
	}
	 setcookie("vote", "yes"); 
//  echo "<script>Set_Cookie( 'vote', 'yes', '', '', '', '' )</script>";
	echo "<script>location.href='index.php';</script>";
}

Som ni ser, har jag även testat att köra via javascript set_Cookie,
men det är likadant. Den vägrar sätta vote till yes.

mysql_queryn som ligger där fungerar utmärkt,
så jag vet att koden funkar så långt.
Och jag har även prövat att sätta setcookie ovanför } , men det ger ändå samma fel.

Någon som har en aning? :(

*** Glömde skriva vad som blir fel .. Det står såhär..
Det kan tilläggas att jag inte kör någon header i just den functionen heller..

Warning: Cannot modify header information - headers already sent by (output started at /customers/punkrocks.se/punkrocks.se/httpd.www/include/inc_functions.php:858) in /customers/punkrocks.se/punkrocks.se/httpd.www/include/inc_functions.php on line 395
SoulGodMedlem sedan aug. 20051 395 inlägg
#2

Lösningen var enkel, efter felsökning av min javascript, så var felet löst.

Rätt svar var:
echo "<script>document.cookie = 'vote=yes';</script>";

tydalMedlem sedan juni 20033 788 inlägg
#3

En cookie ligger i headern, så det är din setcookie-rad som kör header.

SoulGodMedlem sedan aug. 20051 395 inlägg
#4

Insåg det, jag löste problemet genom att köra en javascript version som sagt.
Men nu har jag stött på nästa problem ...

Min javascriptlösning "kan" programmeras med en "timer" som bestämmer när cookien ska gå ut, eller att att den automatiskt går ut när man stänger webläsaren.

Problemet i det hela nu, är att jag inte vet vilken "tid" den ska gå ut ,
då det är inbyggt i en omröstning, och vi har inga fasta tider när omröstningen går ut / kommer upp en ny.

Så, jag har försökt komma på något bra nu i någon timme...
Någon som har en idé?

tydalMedlem sedan juni 20033 788 inlägg
#5

Gör så att varje omröstning skapar en unik cookie. Du borde kanske redan ha något id för varje omröstning om resultatet lagras i en databas?

127 ms totalt · 3 externa anrop · cache AV · v20260731051352-full.56cc9887
0 ms — hämta statistik (cache)
0 ms — hämta forumlista (cache)
124 ms — hämta tråd, inlägg och bilagor (db)