Cookies Speichern nicht
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfragen
code
dank
frage
funktion
glauben
jahr
leute
mathematischen operatoren
problem
punkt
senden
setzen
sonderzeichen
sparen
tag
url
verfallsdatum
zahl
zeile
-
Hallo tag/leute">leute ich bin jetzt schon seit ich glaube 2 Jahren glücklich mit euch und wollte mal fragen, also ich wollte für ein Spamschutz ein Cookie zuweisen dies ging auch für kurze zeit doch jetzt geht es garnicht mehr... was kann ich da machen?
hier mal der Code:
<?php if ($_COOKIE["zähler"] == ""){ setcookie("zähler", 1);}else{ $neu = $_COOKIE["zähler"] + "1"; setcookie ("zähler", "", time() -100000000000000); setcookie("zähler", $neu); } ?>
Danke schon mal -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Die Zeile
ist unnötig, da beim senden eines neuen Wertes der neue Übernommen wird.setcookie ("zähler", "", time() -100000000000000);
Zudem solltest du als Name keine Sonderzeichen verwenden, das könnte evtl. Probleme mit manchen Browsern geben.
Verschoben nach PHP. -
booforfun schrieb:
Hallo leute ich bin jetzt schon seit ich glaube 2 Jahren glücklich mit euch und wollte mal fragen, also ich wollte für ein Spamschutz ein Cookie zuweisen dies ging auch für kurze zeit doch jetzt geht es garnicht mehr... was kann ich da machen?
hier mal der Code:
<?php if ($_COOKIE["zähler"] == ""){ setcookie("zähler", 1);}else{ $neu = $_COOKIE["zähler"] + "1"; setcookie ("zähler", "", time() -100000000000000); setcookie("zähler", $neu); } ?>
Danke schon mal
Wenn du beim Setzen dem Cookie kein Verfallsdatum mitgibst, wird er spätestens nach dem nächsten Seitenaufruf gelöscht.
Dein korrigierter Code:
<?php $timeout=time()+60*60*24; // hält einen Tag lang if (empty($_COOKIE['zaehler'])){ setcookie('zaehler', 1, $timeout);}else{ $neu = $_COOKIE['zaehler'] + 1; setcookie('zaehler', $neu, $timeout); }
- Erst löschen und dann neu setzen kannst du dir sparen, es genügt, den Wert zu überschreiben.
- Wenn du mit mathematischen Operatoren arbeitest (+1) bitte die Zahlen nicht in Anführungszeichen!
- keine ==""-Abfragen. Dafür gibt es die empty()-Funktion!!!
- keine Sonderzeichen im Cookie-Namen
thomasba war wohl in manchen Punkten schneller...
Beitrag zuletzt geändert: 6.4.2012 21:55:17 von anti-atomkraft -
Okey danke schon mal ich werde das mal aufprobieren aber könntest du noch erklären was der empty() funktion ist? Also wie sie funktioniert
Edit- sorry schon erledigt habe schon gesehen mit der empty :D
Edit die 2. - Also geht immer noch nicht :(
hier der Link zum geschehen http://booforfun.lima-city.de/cookie.php ist auch mit zusätzlichem >echo $_COOKIE['zaehler'];< versehen
Beitrag zuletzt geändert: 6.4.2012 22:13:26 von booforfun -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage