PHP Session-ID
Peter
- php
0 Dieter Raber0 Peter0 Dieter Raber0 Peter0 Dieter Raber0 Peter0 Dieter Raber0 Peter
Moin zusammen!
Habe ein Loginscript erstellt. Die Session-ID wird in Cookies gespeichert. Sollte ein User cookies deaktiviert haben, wird die Session-ID per url übergeben. Soweit die Theorie!
Wenn ich nun im Browser cookies deaktiviere. Funktioniert der Login, aber die Session-ID (manuell angehängt!) wird nicht in der url übergeben!?!?!?
Weiss jemand woran es liegen könnte?
Danke! Gruss Peter
Hallo Peter,
Gib mal in jeder Seite $_SESSION und $_COOKIE aus.
Gruß,
Dieter
Muss dazu sagen, ich hab session_set_save_handler benutzt und speicher die Session-Daten in einer Datenbank. Demnach gibt er mir bei beiden ein Array aus.
Hallo Peter,
Demnach gibt er mir bei beiden ein Array aus.
print_r($_SESSION);
Gruß,
Dieter
Hallo Dieter,
erstmal Danke für die Bemühungen!
Hier die Ausgaben:
print_r($_SESSION):
Array ( )
und
print_r($_COOKIE):
Array ( [sid] => c25de2bb4eeb3ec9e7f7483d86a1578e )
bei "Cookies deaktiviert" !!! Kann es mir nicht erklären!
Gruss Peter
Hallo Dieter,
Bist Du mal Deine Sessioneinstellungen in der php.ini durchgegangen?
Gruß,
Dieter
Ähm ja so ungefähr! Hier mal der Auszug aus der PHP.INI
Directive Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 Off Off
session.bug_compat_warn Off Off
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_lifetime 600 600
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 100 100
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.name sid PHPSESSID
session.referer_check no value no value
session.save_handler user files
session.save_path C:\www\sessiondata C:\www\sessiondata
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid Off Off
Hallo Peter,
Ähm ja so ungefähr! Hier mal der Auszug aus der PHP.INI
Hast Du auch die Doku gelesen, insbesondere die von use_trans_sid?
Gruß,
Dieter
Hast Du auch die Doku gelesen, insbesondere die von use_trans_sid?
Hab ich, use_trans_sid sagt soweit ich weiss aus, dass die Parameterübergabe über die URL erlaubt ist.
Mein Problem ist allerdings: Ich möchte die SessionID standardmäßig per cookie übergeben, falls ein User cookies deaktiviert hat, soll sie manuell hinter links angehängt werden (nicht automatisch).
deswegen: $manuelleID = (SID == '') ? 'sid=0' : 'sid='.session_id();
$manuelleID häng ich standardmäßig hinter jeden Link
(<a href="seite.php<?php echo $manuelleID; ?>")
1.Funktioniert es bei aktivierten cookies (UND SID=0 => ok)
2.Funktioniert es bei deaktivierten cookies UND SID=0 => ???
Wo holt sich die aufgerufene Seite -beicookies deaktiviert- denn die SID her, wenn nicht über die URL???
Hab ich da irgendeinen Denkfehler drin?
Schon mal Danke für die Bemühungen! :-)