Frage zu "session.use_trans_sid" und Cookies
Daniel
- php
0 Andavos0 Daniel0 Andavos0 TomIRL0 Tobias Kloth
0 Andreas Korthaus
Hallo an alle!
Ich habe da mal eine Frage bezugs den Cookies und der php.ini Einstellung "session.use_trans_sid".
Ich habe eine Loginfunktion in php realisiert die auf Cookies basiert.Diese hat auch problemlos funktioniert, bis der Provider auf eine neuere Version von php (4.3.2) upgedatet hat, in der die Funktion "session.use_trans_sid" deaktiviert war.Also konnte sich jetzt keiner mehr einloggen, der Cookies deaktiviert hat oder eine Firewall oder ähnliches installiert hat der diese verhindert.
Nun habe ich den Provider gebeten, diese Funktion wieder zu aktivieren, gesagt-getan, jedoch geht der Login trotzdem noch immer nicht.Soweit ich informiert bin sollte eben diese Funktion automatisch im Hintergrund in den http-Headerdaten die SessionID mitsenden, um den jeweiligen Benutzer zu identifizieren, aber anscheinend geht das nicht so wie ich mir das vorgestellt habe.
Woran könnte das noch liegen? Muss ich ansonsten an alle Links eine SessionID manuell anhängen? Es sind nämlich einige Links und Seiten und das wäre viel Arbeit.
freundliche Grüsse,
Daniel
Hallo,
evt. hierdran:
Ganz (GANZ) oben auf deiner Seite muss
<?php
session_start();
?>
//Seite
stehn.
Dann könnte es evt. wieder gehn.
Sonst script + Fehlermeldung posten
MFG
Andavos
Hi Andavos
evt. hierdran:
Ganz (GANZ) oben auf deiner Seite muss
<?php
session_start();
?>//Seite
stehn.
Dann könnte es evt. wieder gehn.
Sonst script + Fehlermeldung posten
Soweit habe ich das schon, die komplette Loginfunktion ist ja wohl schon seit ein paar Monaten einwandfrei gelaufen, bis zum Update halt, da gehts ohne aktivierte Cookies nicht mehr.
Gruss,
Daniel
Hallo,
dann übergib die SessionID per URL
Sie ist in der Variabel $sid gespeichert (glaub ich)
MFG
Andavos
Hallo,
dann übergib die SessionID per URLSie ist in der Variabel $sid gespeichert (glaub ich)
Sorry Andavos, aber in welcher variable die sessionID gespeichert steht in der PHP.ini
Und dann Deine Ratschläge sind nicht gerade Zielführend.
Daniel
Poste doch mal bitte den Session Bereich Deiner phpinfo!
Dann kann man vielleicht mehr sagen.
TomIRL
Hallo Andavos,
Sie ist in der Variabel $sid gespeichert (glaub ich)
Da glaubst du falsch. Die Session-ID bekommst du mit session_id() - um die Session-ID aber per Link übergeben zu können, brauchst du auch noch den Session-Namen (den bekommst du mit session_name()). Einfacher geht es aber mit der Konstanten SID - da steht der Session-Name und die Session-ID schon in der Form "name=id" drin (siehe http://de.php.net/manual/de/ref.session.php#session.constants)
Grüße aus Nürnberg
Tobias
Hallo!
"Loginfunktion funktioniert nicht" ist nicht gerade eine genaue Fehlerbeschreibung. Was genau passiert(Fehlermeldung...), oder was passiert eben nicht? Poste mal den Code Deiner Login-Funktion. Ob Trans-SID klappt kannst Du recht einfach überprüfen indem Du in Deinem Browser Cookies deaktivierst und nachguckst ob PHP im HTML-Quelltext an alle Links die SessionID angehängt hat.
Ich rate mal einfach dass Du Du entwder auf Session-Variablen und/oder auf Variablen aus dem HTML-Formular direkt zugreufst ohne den entsprechenden superglobalen Array $_SESSION, bzw. $_POST... zu verwenden, denn das geht nicht mehr wenn register globals deaktiviert ist.
Auf Session-Daten solltest Du so zugreifen wie hier beschreiben:
http://php-faq.de/q/q-sessions-wie.html
Vielleicht hilft Dir auch das: http://www.dclp-faq.de/q/q-formular-register-globals.html
Wie gesagt, das ist ins Blaue geraten, aber ohne genaue Fehlerbeschreibung und Quellcode kann man Dir schlecht helfen.
Grüße
Andreas