Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

Session funktioniert nur Lokal

Ich starte bein einem Login eine Session:


Code:                   In Zwischenablage kopieren (nur IE)
1">

Die Login-Daten werden hier verwertet:
Code:                   In Zwischenablage kopieren (nur IE)
2">

Rechts soll ein Menu angezeigt werden

Code:                   In Zwischenablage kopieren (nur IE)
3">

Dieses Menu wird lokal ohne Probleme angezeigt. Auf dem Server gibt es aber das Problem, dass man sich zwar einloggen kann, aber beim nächsten Schritt (bzw. Klick) verschwindet dieses Menu! Die Session scheint aber noch zu laufen, weil ich über den Direktlink auf die Seiten komme ... das geht normalerweise nicht.
Hier gehts zum Orginal Eintrag "Session funktioniert nur Lokal" im Forum

Antworten

um auf die Session in anderen Seiten zuzugreifen muß dort natürlich auch
session_start vor zugriff auf $_SESSION aufgerufen werden.

siehe auch
http://php-faq.de/q/q-sessions-id.html
http://php-faq.de/q/q-sessions-fallback.html


2.

Die anderen Seiten werden alle als Include in index.php aufgerufen. Die session_start ist in der index.php und deshalb brauche ich das eigentlich nicht, oder?


3.

session_start wird nur aufgerufen, wenn dies
Code:                   In Zwischenablage kopieren (nur IE)
4">

true liefert. Ist das immer der Fall?

*** Nobody ***


4.

Das ist immer der Fall! Lokal funktioniert auch alles ...

Jedoch kommt noch was dazu ... aber das macht doch eigentlich nichts aus:

index.php?page=admin&edit=news


5.

Ich hab jetzt einige Sachen probiert mit der session_start!! Das hat alles nichts geholfen!
Wo könnte ich noch nach Problemlösungen suchen?


6.

probier doch mal das Sessio Beispiel auszuführen, ob dies Problemlos klappt
http://phptt.de/showschnipsel.php?kat=11&id=29


7.

Da hilft wohl nur noch eins:

Richtig debuggen
1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
2. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
3. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde (oder auch nicht).
4. Schritt 3 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
5. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
6. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
7. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

*** Nobody ***


8.

Mit der Session IP funktioniert es ... aber warum nicht mit der Session ID????

Code:                   In Zwischenablage kopieren (nur IE)
5">




9.

lass dir doch mal die gesamten gespeicherten werte in der session aus geben (print_r ($_SESSION))
tippe einfach mal aufm typo?


10.

Das ist auf dem Server:

Array ( [IP] => 217.187.xx.xxx [ID] => fcgadmin )

und das ist Lokal

Array ( [IP] => 127.x.x.x [ID] => fcgadmin )

ohne x natürlich!!


11.

Und was sagt uns das? Die Daten stehen richtig in der Session.

*** Nobody ***


12.

Aber warum kann er mit der IP was anfangen und mit der ID nicht??

Das funktioniert:
Code:                   In Zwischenablage kopieren (nur IE)
6">

Das funktioniert nicht:
Code:                   In Zwischenablage kopieren (nur IE)
7">

Ist das vielleicht ein Problem des Providers?

Online funktioniert das ausloggen auch nicht:

Code:                   In Zwischenablage kopieren (nur IE)
8">

Lokal funktioniert es!


13.

hast du mal das Session Beispiel online ausprobiert?


die ID schreibt sich nicht alleine in die $_SESSION, das mußt du schon gewesen sein


14.

Klar ist die ID vorhanden und ich habe sie auch reingeschrieben. Jedoch wird die ID nicht mehr gefunden bzw als nicht existent erkannt, die IP aber schon.


15.

dann stimmt whol was
Code:                   In Zwischenablage kopieren (nur IE)
9">

hier nicht

ein addslahes ist hier sehr ungünstig vorallem wenn die magic quotes schon an sind (get_magic_quotes_gpc)


16.

Noch eine Frage dazu:


Mit session_destroy(); lösche ich doch normalerweise die Session?? Wenn ich das ausführe, ist die session-id trotzdem noch vorhanden. Muss ich da einen anderen Weg gehen?


17.

Auszug Aus der Doku:

Beispiel 2. Löschen einer Session mit $_SESSION
Code:                   In Zwischenablage kopieren (nur IE)
10">

*** Nobody ***


18.

Das habe ich schon ausprobiert. Ich kriege die session nicht mehr gelöscht.

Code:                   In Zwischenablage kopieren (nur IE)
11">

Das echo kommt aber und wird angezeigt.


19.

Nee,nee,nee, jetzt steige ich aus diesen Thread aus, das wird mir zu albern.
Code:                   In Zwischenablage kopieren (nur IE)
12">

Wenn das Script in den if-Teil kommt, dann wird die Session gelöscht:
Code:                   In Zwischenablage kopieren (nur IE)
13">

Und danach kommt logischerweise das echo. Und warum baust Du diese Zeile nicht ein:
Code:                   In Zwischenablage kopieren (nur IE)
14">

Wie schon gesagt, das wird mir jetzt zu albern. Man postet Dir Lösungen und Du liest sie genauso wenig wie die Doku.

*** Nobody ***


Hier gehts zum Orginal Eintrag "Session funktioniert nur Lokal" im Forum
 
phpforum.de | Impressum | Handy Bundles