Cookies werden nicht gesetzt !

gidde

Mitglied
Hi Leute!
bin gerade dabei eine umfrage zu programmieren die mittels COOKIES verhindern soll das ein user mehrmals abstimmt...(bzw nur innerhalbe einer bestimmten zeit..)

habe mir bereits die FAQ /Tutorials durchgelesen aber mein problem besteht immer noch..

auf meinem rechner funktioniert der code einwandfrei.
das cookie wird gesetzt und eine erneute abstimmung ist daher NICHT möglich..

auf anderen pc´s wird allerdings das COOKIE nicht geschrieben und der User kann daher "unedlich" oft abstimmen...

habt ihr einen Rat

hier mal der CODE:

PHP:
<?
include("config.txt");

if($vote==1)
	$message = "Sie haben schon gewählt! Sie können nur alle 24 Stunden einmal abstimmen!";
	
else
{
	if($sperre==1 and (!isset($HTTP_GET_VARS["show"])) and (!$waehl==0))
		setcookie("vote",1,time()+($sperredauer));
		
	$datei=fopen($datei_name,"r");
	$alles=fread($datei,filesize($datei_name));
	$zeile=explode("<li>",$alles);
	if($waehl>0 AND $waehl<($anzahl_der_antworten+1))
	{
		$zeile[$waehl]++;
		$alles="";
		for ($i=1;$i<=$anzahl_der_antworten;$i++)
			$alles .= "<li>".$zeile[$i];
		$datei=fopen($datei_name,"w");
		fwrite($datei,$alles);
		fclose($datei);
		$message = "Erfolgreich eingetragen!";
	}

}


?>
<html>
<head>
jetzt kommt die umfrage....aber es geht ja nur ums cookie setzen am anfang...
 
Naja, wenn derjenige Cookies nicht erlaubt hat ist dies möglich.
Als bessere Sicherung empfehle ich in eine DB oder Datei einfach die IP adressen zu speichern, somit können sie nur einmal am Tag voten, bzw bis du die IP adressen löscht.
 
hmm jo das könnte ich machen

aber dann können ja leute die ueber einen router oder uber die uni ins netz gehen nur einmal abstimmen bzw nur ein EINZIGER kann dann abstimmen
 
Ja, das ist richtig. Eine ordentliche Lösung (die immer funktioniert) dafür gibt es auch nicht. Außer die Leute, die bei der Umfrage abstimmen wollen, sind in einer Datenbank erfasst, und müssen sich zum Abstimmen einloggen. Dann kannst du in der Datenbank speichern, welcher User schon abgestimmt hat.
 
Zurück