Cookie-Problem -> werden nicht erstellt?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
antwort
ausschnitt
code
dank
dateiname
frage
http
index
klausur
login
meldung
paar
probieren
rezept
session
standard
start
stelle
tag
-
Hallo,
da ich nach einigem herumexperimentieren und suchen nach neuen 'tag/rezept">Rezepten' immer noch keine Kekse gebacken bekomme, stelle ich nun die Frage an euch:
Folgendes Script wird in meine index.php per include eingefügt, bevor auch nur <html> benutzt wird:
Ausschnitt aus include.pwpruefung.php:
... if($_POST['login_speichern']){ $expire = time()+60*60*24*30; setcookie('olermail_login', true, $expire); setcookie('olermail_pw', $pass_db, $expire); setcookie('olermail_username', $username, $expire); } else if(!$_COOKIE['olermail_login'] || !isset($_COOKIE['olermail_login']) && isset($_POST['erstlink'])){ $expire = time()+60*60; setcookie('olermail_login', false, $expire); setcookie('olermail_pw', $pass_db, $expire); setcookie('olermail_username', $username, $expire); } else if(!isset($_COOKIE['olermail_login']) && !isset($_POST['erstlink'])){ $dateiname = '1-home'; $dateifunktion = 'logout_wait'; $pass_eingabe = ''; $username = ''; $userrechte = false; } ...
Eingefügt wird es in der index.php:
<?php if($_POST['dateiname'] != '1-logout') //Beim Ausloggen wird pw nicht �berpr�ft include("./include.pwpruefung.php"); ?> ...
Erläuterung:
im Login-Formular sind neben Standard-Feldern:
- login_speichern (checkbox)
- erstlink (hidden value="true")
vorhanden (bis jetzt ist login_speichern noch nicht eingebaut)
nun sollen bei diesen zwei fällen drei Cookies gesetzt werden:
login_speichern ist gesetzt
-> Cookie-Gültigkeiten: 30d
-> olermail_login wird mit 'true' gespeichert (-> Cookies werden 30 Tage nicht mehr verändert, nur beim ausloggen)
-> olermail_pw wird mit verschlüsseltem Passwort gespeichert
-> olermail_username
olermail_login ist auf false oder nicht vorhanden und der user hat sich gerade eingeloggt
-> Cookie-Gültigkeiten: 1h
-> olermail_login wird mit 'false' gespeichert (-> Cookies nach jedem internen Link wieder auf 1h Gültigkeit gesetzt)
-> olermail_pw wird mit verschlüsseltem Passwort gespeichert
-> olermail_username
Wenn der user sich nicht unmittelbar vor diesem Code eingeloggt hat und olermail_login nicht vorhanden ist, wird der User mit einer Meldung ausgeloggt, er sei zu lange (1h) inaktiv gewesen und wird daher ausgeloggt...
Nun konnte ich allerdings in Mozilla keine Cookies mit entsprechenden Namen finden, obwohl sie eigentlich nach dem zweiten if()-Teil gesetzt sein sollten. Eine Fehlermeldung habe ich nicht erhalten, bin mir aber sicher, dass das Script bis zu der if-Abfrage kommt, sonst würde auch anderes nicht funktionieren
Was habe ich falsch gemacht?
Sonst: Gibt es eine sinnvolle Alternative, um Anmeldedaten auf längere Zeit zu speichern (IP kann sich ja ändern)?
MfG Ole -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
versuchs mal mit einer session.
http://php.net/manual/de/function.session-start.php
mit session-Start machst du die session auf... ist viel einfacher, als direkt aufs Cookie zuzugreifen...
dazu gibt es auch ein paar scripte, kannst du dich inspirieren lassen^^
übrigens ist die session serverseitig gespeichert, du hast also eine geringere Manipulationsgefahr... lokal hast du nur deine session-ID... -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage