Re: Links in Bestätigungsmail
Von: Joerg Behrens (behrens@takenet.de) [Profil]
Datum: 11.06.2008 08:37
Message-ID: <6b9a51F2od9djU1@mid.individual.net>
Newsgroup: de.comp.lang.php.misc
Datum: 11.06.2008 08:37
Message-ID: <6b9a51F2od9djU1@mid.individual.net>
Newsgroup: de.comp.lang.php.misc
Heiko Warnken schrieb: > Hallo, > ich stehe im Moment ziemlich auf dem Schlauch. > Folgendes Szenario: > Ein Besucher der Webseite klickt auf "Registrieren", um sich neu zu > registrieren. > Nach Eingabe (und Prüfung) der eingegebenen Daten erhält er eine e- Mail. > In dieser e-Mail befindet sich ein Link, den er anklicken soll, um sein e > Regsitrierung zu bestätigen. > An den Link angehängt ist die session_id seiner Sitzung. > z. B.: www.testdomain.de/register/best.php?id=session_id Normal wird hier nicht die Session genommen sondern ein anderer Hash welcher eine definierte Laufzeit hat. Deine Session hat nur eine begrenze Laufzeit. Siehe weiter unten. > Bis hier her ist alles Ok. Doch nun kommt mein Problem: > > Wird eben dieser Link angeklickt, wird zwar die session_id mit > übertragen (an den Browser), doch dieser kann aus einem mir nicht > bekannten Grund keinerlei Daten aus der Session finden. Alle > $_SESSION[''] Variablen sind leer. > > Anmerkung: > Wenn der Browser geöffnet bleibt und der Link in der Mail angeklickt > wird, funktioniert alles tadellos. Erst, wenn der Browser (IE oder > Mozilla!) geschlossen werden, sind die Session-Daten futsch. Das ist aber auch logisch. Die Sessions in PHP basieren auf Sessioncookies welche nur im Browser solange leben, wie dieser geoeffnet ist. Normal wird hier auch keine cookie Datei auf Platte abgelegt beim Anwender. Solange der User auf deiner Seite rumklickt akt. sich die Session und PHP verlaengert die Laufzeit entsprechend seinen Einstellunge n. 1. Entweder oben einen anderen Hash nehmen welcher als Key zusammen mit einem Usernamen (oder 2. Hash) in eine extra Tabelle gucken wo die zuaktivierenden Accounts liegen. 2. Gucken ob PHP von Sessioncookies auf normale Cookies umgestellt werden kann was ext/session angeht. Wenn nicht ein anderes Sessionmanagement nehmen und hier Cookies mit definiertem Ende angeben (das ist dann kein Sessioncookie fuer den Browser). Gruss Joerg -- TakeNet GmbH, Geschaeftsfuehrer Wolfgang Meier 97080 Wuerzburg Tel: +49 931 903-2243 Alfred-Nobel-Straße 20 Fax: +49 931 903-3025 HRB Wuerzburg 6940 http://www.takenet.de[ Auf dieses Posting antworten ]
