webForumDet fria alternativet

innehåll i cookies

PHP

5 svar · 399 visningar · startad av MaRseY

Medlem sedan maj 2001178 inlägg
Frågan#1

hej
tänkte ha cookies till mitt pollsystem så att man bara kan vota en gång på varje poll, å i cookien sparar jag ID:t för den man votat på, cookien sätts när man tryckt 'vote'..

men hur kan jag då typ spara flera IDn, å sen hämta flera IDn? eller måste jag skapa en ny cookie för varje poll?

Medlem sedan mars 20007 896 inlägg
#2

Sätt ett nytt ID för varje poll, eller sätt en time-limit på din cookie.

Medlem sedan jan. 20007 697 inlägg
#3

Eller skapa en kommaseparerad lista med alla ID:n och sök sen bara igenom denna efter behov. :)

Medlem sedan maj 2001178 inlägg
#4

jo har nytt id för varje poll, fast om jag sätter en cookie med nya id:t så försvinner väl den gammla.. så kan man rösta på den igen
hur ska jag gå tillväga för att göra en kommaseparerad lista å sen söka igenom den också?:)

Medlem sedan maj 2001178 inlägg
#5

lite problem..

Nu har jag gjort en funktion å lite grejjs som jag trodde ska funka, men inte riktigt, om man röstar en gång så funkar det inte, men om man röstar på alla polls så verkar alla funka av nån anledning..

kod som sätter cookien:

			if(isset($TdKaka)){
				$value = "$TdKaka*$poll";
			}else{
				$value = "$poll,";
			}
			$cookiePath = substr($SCRIPT_NAME, 0, strrpos($SCRIPT_NAME, '/'));
		setcookie ("TdKaka", $value, time()+3600*24*21, $cookiePath);

sen använder jag följande funktion för att kolla ifall man röstat tidigare eller inte:

function fncKaka($ID)
{
	GLOBAL $TdKaka;
	$kaka = $TdKaka;
	$kaka = explode("*",$kaka);
	$antal = sizeof($kaka);
	$counter = 0;
	for($i = 0; $i < $antal; $i++){
		if($kaka[$i] == $ID){
			$counter++;
		}
	}
	if($counter > 0){
		$rosta = "true";
	}else{
		$rosta = "false";
	}
	return $rosta;
}

nån som kan luska ut varför det blir så?

Medlem sedan nov. 2000857 inlägg
#6

Har inte läst hela inlägget ovan, men för att enklast skapa en kaka för varje ID kan man göra såhär:

SetCookie("kakans_namn[$id]", "1", time()+99999);

Skicka alltså med id-numret i kaknamnet....

252 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)