PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   Cookie (http://www.selfphp.de/forum/showthread.php?t=6644)

NanoCyte 14.01.2004 08:50:43

Cookie
 
ich hab nen problem bei cookies.

und zwar schreib ich die session_id in ein cookie, so dass er bei jedem neuen zugriff wieder darauf zurückgreifen kann. funktioniert während der selben browser sitzung immer perfekt in verbindung mit session und mysql zwar ganz gut, aber wenn ich dann den browser schließe und neu darauf zugreife, erstellt er eine neue session, was heißt, dass das cookie gelöscht wurde.

PHP-Code:

setcookie("PHPSESSID"session_id(), (time()+60*60*24*30)); 

hab ich drin stehen, was aber aus irgendwelchen gründen das cookie nicht länger halten lässt

kann mir jemand helfen?

René_M 14.01.2004 10:10:02

... wie erzeugst du die Session im allgemeinen wird die Session-ID als Sitzungs-Cookie eh auf dem Rechner des Besuchers abgelegt. Die halbwertzeit ;-) richtet sich nach den Einstellungen in der php.ini.

http://www.selfphp.info/forum/showth...?threadid=6433

NanoCyte 14.01.2004 10:36:55

also ich erzeug die session mit session_start(), die wird dann in ne mysql-tabelle eingetragen, so dass sie auf dem server auch noch nach der sitzung abrufbar ist.
ich will jetzt aber das cookie mit der PHPSESSID noch über die sitzung hinaus erhalten, so dass er bei einem erneuten besuch die einträge aus der mysql sich wieder holen kann mittels der PHPSESSID

ich such aber möglichst nach der lösung, wo ich nicht die php.ini verändern muss bzw.umgehen kann, weil ich die cookies unterschiedlich halten will (also mal 0, mal 10 tage ...)
ansonsten muss ich halt session.cookie_lifetime auf meinen wert setzen...., aber das wollt ich möglichst umgehen. ist das überhaupt möglich?

meikel (†) 14.01.2004 11:33:05

Zitat:

Original geschrieben von NanoCyte
ansonsten muss ich halt session.cookie_lifetime auf meinen wert setzen...., aber das wollt ich möglichst umgehen. ist das überhaupt möglich?
Vor session_start()
ini_set('session.cookie_lifetime',$neuer_wert);
Allerdings mußt Du die Laufzeit der Session dann auch anpassen. Sonst ist der Keks zwar noch gültig, aber das dazugehörige session file liegt schon tage vorher in der tonne.

NanoCyte 14.01.2004 11:48:14

ich speicher die session sowieso in ner mysql, von daher gibts da keinen großen probs, aber ich pass es vorsichtshalber mal an.

aber es funzt perfekt, thx!

meikel (†) 14.01.2004 12:02:34

Zitat:

Original geschrieben von NanoCyte
ich speicher die session sowieso in ner mysql, von daher gibts da keinen großen probs,
Nanana! Für PHP ist die Session nur dann noch gültig, wenn es zur session_id noch ein dazugehöriges Session File gibt. Ob Du die Nummer in der DB speicherst, interessiert PHP dabei nicht die Bohne.

Zitat:

aber ich pass es vorsichtshalber mal an.
aber es funzt perfekt, thx!
Fein. Ich hatte das sicherheitshalber getestet, weil ich mit ini_set() bei einer früheren Version mal ganz böse auf die Fresse gefallen bin.


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:44:47 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.