Also mein Usermanagement arbeitet grundsätzlich mit Sessions. Jetzt möchte ich ein Cookie einbauen, damit die User beim erneuten Aufruf meiner Seite automatisch eingeloggt sind. Jetzt müsste ich irgendein Weg finden, dass die Sessioninformationen (user_id,user_name,user_pass) im Cookie gespeichert werden bzw. den Sessionwert übernehmen, sodass die Seite trotzdem auf Sessions basiert.
Cookie mit Sessions verbinden
Einklappen
X
-
Wo ist das Problem?
1.) Du überprüft ob ein Cookie existiert wo so heisst wie du es genannt hast und überprüft ob die Variablen die du benützst da sind
Wenn == negativ: leite auf die Anmeldeform um und das normale Script geht seine Wege
Wenn == possitiv: Überprüfe anhand der DB ob die Daten stimmen und starte eine Session mit den Cookie Variablenwerten, wie sollte ja inzwischen bekannt sein
Else == scheitert das an irgendeinem Punkt umleiten auf die Anmeldeform
Wenn == sobald der User eingeloggt wurde überprüfe ob dein Cookie wie es heissen soll bereits existiert
Wenn == positiv weiter im Programm
Else == setz das cookie mit den Sessionwerten[color=blue]MfG Payne_of_Death[/color]
[color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
[color=red]Merke:[/color] [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->
Murphy`s Importanst LAWS
Jede Lösung bringt nur neue Probleme
Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
In jedem kleinen Problem steckt ein großes, das gern raus moechte.
-
Also ich habe mir das eigentlich so gedacht, dass wenn sich einer einloggt das passiert:
PHP-Code:setcookie ("user_name", $user_name, time()+86400*24*60,"/");
setcookie ("user_id", $user_id, time()+86400*24*60,"/");
setcookie ("user_pass", $user_pass, time()+86400*24*60,"/");
$_SESSION['user_name'] = $_COOKIE['user_name'];
$_SESSION['user_id'] = $_COOKIE['user_id'];
$_SESSION['user_pass'] = $_COOKIE['user_pass'];
PHP-Code:$_SESSION['user_name'] = $_COOKIE['user_name'];
$_SESSION['user_id'] = $_COOKIE['user_id'];
$_SESSION['user_pass'] = $_COOKIE['user_pass'];
Einziges Problem ist, dass 3 mal die Meldung:
Warning: Cannot add header information - headers already sent by (output started at /www/htdocs/johrn/index.php:122) in ...
kommt.
Kommentar
-
verstehste nicht was ich mit den geposteten code bewirken will ?
Meine Page besteht nur aus Sessions. Ich will, dass jeder User automatisch eingeloggt wird wenn er zurueckkommt deswegen wird die Cookievariable in die Sessionvariable gesetzt. Und beim Login wird halt der cookie mit setcookie gesetzt.
was heisst hier überdacht ? meine page basiert halt nur auf eine datei, ist doch egal
Kommentar
-
egal ist 88! Aber eine Page auf über 2000 Zeilen zu machen, halte ich nicht für effizient (in jeder hinsicht).
was machen denn die leute, die sich normal einloggen und kein cookie haben?
wir haben dir oben die idealen lösungen gepostet. so solltest du vorgehen.
3 cookies halte ich für etwas übertrieben. aber das hat CC ja auch gepostet.
Kommentar
-
Original geschrieben von TobiaZ
egal ist 88!OffTopic:
nein. lage *) von hinten.
*) lage: stadt in nrw. in der nähe von bielefeld.INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |
Kommentar
-
Original geschrieben von TobiaZ
egal ist 88! Aber eine Page auf über 2000 Zeilen zu machen, halte ich nicht für effizient (in jeder hinsicht).
was machen denn die leute, die sich normal einloggen und kein cookie haben?
wir haben dir oben die idealen lösungen gepostet. so solltest du vorgehen.
3 cookies halte ich für etwas übertrieben. aber das hat CC ja auch gepostet.
Kommentar
Kommentar