Entwickler-Ecke
Programmiersprachen (Server) - Cookies funktionieren nicht
andras - Sa 19.05.07 11:47
Titel: Cookies funktionieren nicht
hi!
find ich super die neue sparte, da braucht man php-zeug nicht mehr ins offtopic geben und bekommt dafür diese unschönen sterne :lol:
aber zu meinem problem:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| <? if ((isset($_GET["category"])) and ($_GET["category"]=="home")) { if (!isset($_COOKIE['zaehler'])) { header(setcookie("zaehler", time(), time() + 3600)); $gesetzt = FALSE; } else { $gesetzt = TRUE; } if (isset($_COOKIE['besuch'])) { $zeit=time()-(int)$_COOKIE['besuch']; } header(setcookie("besuch", time(), time()+ 321408000)); } ?> |
Mein Problem: Das Cookie "zaehler" gibt es nicht... und die variablen $gesetzt und $zeit zeigen nichts an wenn ich sie mit echo ausgeben will :( Cookies sind bei mir ohne ausnahmen erlaubt und "besuch" exisitiert ja...
Was ist an meinem code falsch??
Danke schon jetzt!
jakobwenzel - Sa 19.05.07 22:26
Ich würd das ganze per Sessions machen, da ist das ganze Cookie-Zeugs schon von PHP verwaltet, man muss nur noch Session_start aufrufen und man kann dann auf das Array $_SESSION zugreifen, dessen Inhalte dann auch weiter zur Verfügung stehen.
LeoLöwe - So 20.05.07 00:18
Probier mal:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29:
| <? if ((isset($_GET["category"])) and ($_GET["category"]=="home")) {
if (!isset($_COOKIE['zaehler'])) {
setcookie("zaehler", time(), time() + 3600); $gesetzt = FALSE;
} else {
$gesetzt = TRUE;
}
if (isset($_COOKIE['besuch'])) {
$zeit=time()-(int)$_COOKIE['besuch'];
}
setcookie("besuch", time(), time()+ 321408000);
} ?> |
Oder, mit den Sessions:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33:
| <?
session_start();
if ((isset($_GET["category"])) and ($_GET["category"]=="home")) {
if(!isset($_SESSION['zaehler'])) { $_SESSION['zaehler'] = time(); $gesetzt = FALSE; } else { $gesetzt = TRUE;
if($_SESSION['zaehler']<time()-3600) { unset($_SESSION['zaehler']); $gesetzt = FALSE; } }
if (isset($_SESSION['besuch'])) {
$zeit=time()-(int)$_SESSION['besuch'];
}
$_SESSION['besuch'] = time(); } ?> |
andras - So 20.05.07 04:11
also, das von
LeoLöwe mit den Cookies geht nicht, da hat sich gar nix getan :( aber ich werd das ganze einmal auf sessions umstellen, die schaun halbwegs vernünftig aus...
aber wie schaut das aus, wenn ich etwas über einen längeren zeitraum speichern will, auch nachdem der pc abgeschaltet/browser gschlossen wurde? seesion exisitieren doch nur für diese spezielle seite und sind dann wieder weg, oder irre ich mihc da?
GTA-Place - So 20.05.07 11:28
Richtig und du musst bei jedem Seitenauruf die S(ession-)ID übergeben.
Marco D. - Di 22.05.07 20:15
GTA-Place hat folgendes geschrieben: |
Richtig und du musst bei jedem Seitenauruf die S(ession-)ID übergeben. |
Hm also eigentlich nicht. Bei meinem Projekten wird die SID nicht per URL übergeben und es funktioniert :gruebel:
andras - Mi 23.05.07 13:14
Marco D. hat folgendes geschrieben: |
GTA-Place hat folgendes geschrieben: | Richtig und du musst bei jedem Seitenauruf die S(ession-)ID übergeben. |
Hm also eigentlich nicht. Bei meinem Projekten wird die SID nicht per URL übergeben und es funktioniert :gruebel: |
:?!?: :gruebel: also was jetzt :rofl:
könnte mir bitte jemand einmal genau erklären was die SID eig ist, bis jetzt hab ich nur rausgefunden dass die einmalig ist, aber sonst eig nix...
Thx!
Christian S. - Mi 23.05.07 16:10
@Luckie: Lies das Topic nochmal ganz und nicht nur die Buchstaben "SID" ;-)
Pepe - Do 31.05.07 09:52
du solltest bei deinem setcookie aufruf auch die domain und den ordner etc. mit angeben... sonst akzeptieren die browser das cookie ab einer gewissen sicherheits (ich glaub sogar bei minimal schon) nicht mehr!
GTA-Place - Do 31.05.07 11:02
Ich setze meine Cookies so:
Quelltext
1:
| setcookie('VBet[nick]', '', time() - 3600, '/'); |
Ohne das gehighlightete funktioniert der Cookie nur im aktuellen Verzeichnis!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!