Brauche Hilfe: Cookies werden nicht gelesen aber warum??

harder_xbx

Grünschnabel
Moinsen ich brauch mal ein Rat bitte
Aus irgendein Grund werden bei mir die Cookies nicht gelesen von mein Projekt. Hat vor zwei tagen noch funktioniert. Warum das jetzt nicht mehr geht hab ich keine Ahnung. Cookies werden in jeden Browser gespeichert.

hier mal ein kleiner teil vom code wo die gesetzt werden:
PHP:
	 setcookie('userid', $userid_cookie, time() + (86400 * 30), COOKIE_PFAD); // 86400 = 1 day
			 setcookie('username', $username_cookie, time() + (86400 * 30), COOKIE_PFAD);
			 setcookie('usermail', $usermail_cookie, time() + (86400 * 30), COOKIE_PFAD);
			 setcookie('userpassword', $hashpwr_sets, time() + (86400 * 30), COOKIE_PFAD);

Jetzt sollen die Cookies gelesen werden bzw soll erkannt werden ob Cookies vorhanden sind für die "Wiederkehr-Funktion":
PHP:
iif(isset($_COOKIE['userid']) and isset($_COOKIE['username']) and isset($_COOKIE['usermail']) and isset($_COOKIE['userpassword'])){ //weiterer Code // }
Selbst mit echo werden die Cookies nicht erkannt
PHP:
echo $_COOKIE['userid']
Es wird folgendes in Browser angezeigt:
PHP:
Notice: Undefined index: userid in /var/www/

Ich bin mit mein Latein am ende. Das Passiert in allen Browsern die ich habe. Allerdings funktionieren FB oder was auch immer mit Cookies.
Hat da jemand rat? PHP7 wird aktuell verwendet.
Und ich hab seit einer Woche nichts gemacht mit dem "Cookie-System".
Das Login setzt die Cookies und wenn man sich ausloggt werden die auch gelöscht. das funzt aber das Lesen für die "Wiederkehrfunktion" macht aufeinmal schlap.

Zur Info: hab das auch in ein anderen Forum gepostet und da hab ich kein Antwort erhalten aber es wurde gefragt was HTTP Response und Request ausgibt. Kein Ahnung was ich da herausfinden soll -.-
und wenn jemand fragt COOKIE_PFAD ist definiert worden mit folgendem inhalt "projekt123"
 
Das nichts angezeigt wird liegt am COOKIE_PFAD.

Wenn müsste der Inhalt von COOKIE_PFAD "/projekt123/" lauten.
Dann müssten die Dateien auch in diesen Ordner liegen.

PHP.net hat gesagt.:
path

Der Pfad auf dem Server, für welchen das Cookie verfügbar sein wird. Ist er auf '/' gesetzt, wird das Cookie innerhalb der gesamten domain verfügbar. Ist er auf '/foo/' gesetzt, wird das Cookie nur innerhalb des Verzeichnisses /foo/ sowie allen Unterverzeichnissen wie z.B. /foo/bar/ der domain verfügbar. Der Standardwert ist das aktuelle Verzeichnis, in dem das Cookie gesetzt wurde.
 
Jetzt sollen die Cookies gelesen werden bzw soll erkannt werden ob Cookies vorhanden sind für die "Wiederkehr-Funktion":
PHP:
iif(isset($_COOKIE['userid']) and isset($_COOKIE['username']) and isset($_COOKIE['usermail']) and isset($_COOKIE['userpassword'])){ //weiterer Code // }
Existiert das doppelte iif auch im Originalcode, oder handelt es sich hier in Deinem Beitrag nur um einen Kopier-/Tippfehler?
Es wird folgendes in Browser angezeigt:
PHP:
Notice: Undefined index: userid in /var/www/
Ich bin mit mein Latein am ende.
Google noch lange nicht: Notice: Undefined index: userid in /var/www/
 
nein das ist nur ein Schreibfehler und die Meldung ist klar das er meckert wenn kein wert gelesen werden kann :)
hab wahrscheinlich den Pfad falsch gemacht :D
Bin auch gerade dahintergekommen weil ich jetzt die Daten ändere und schwubs sehe da es geht wieder denke ich bin das gerade noch am testen :)
Aber danke euch :)
 
nein das ist nur ein Schreibfehler
Gut, dass wir das (für die Nachwelt) geklärt haben :)
Bin auch gerade dahintergekommen weil ich jetzt die Daten ändere und schwubs sehe da es geht wieder denke ich bin das gerade noch am testen :)
Aber danke euch :)
Checkliste beim Testen :cool:
http://www.php.net/setcookie hat gesagt.:
Häufige Probleme:
  • Cookies werden nicht sichtbar, bevor nicht eine Seite geladen wird, für die das Cookie sichtbar sein soll. Um zu testen, ob ein Cookie erfolgreich gesetzt wurde, prüfen Sie noch vor der Ablaufzeit auf der nächsten geladenen Seite, ob das Cookie vorhanden ist. Die Ablaufzeit wird mittels des Parameters expire gesetzt. Eine gute Möglichkeit, die Existenz von Cookies zu prüfen, ist einfach print_r($_COOKIE); aufzurufen.
  • Cookies müssen mit den selben Parametern gelöscht werden, mit denen sie gesetzt wurden. Ist der value-Parameter ein leerer String oder FALSE und alle anderen Werte entsprechen dem früheren Aufruf von setcookie, wird das Cookie mit dem angegebenen Namen vom Client gelöscht. Die wird intern ausgeführt, indem der Wert auf 'deleted' und die Verfallszeit auf ein Jahr in der Vergangenheit gesetzt wird.
  • Da beim Setzen eines Cookies mit dem Value FALSE versucht wird, das entsprechende Cookie zu löschen, sollten Sie keine boolschen Werte verwenden. Nutzen Sie statt dessen 0 für FALSE und 1 für TRUE.
  • Namen von Cookies können auch als Arraynamen gesetzt werden und stehen dann in Ihren Skripten als Arrays zu Verfügung, während sie auf dem System des Benutzers als separate Cookies abgespeichert werden. Erwägen Sie den Einsatz von explode(), um ein ein Cookie mit mehreren Namen und Werten zu setzen. Es ist nicht empfehlenswert, zu diesem Zweck serialize() einzusetzen, da hieraus Sicherheitslöcher erwachsen können.
[edit]Tipp-Ex[/edit]
 
Zuletzt bearbeitet:
Zurück