Sitzungsinformationen gehen in Chrome verloren (funktioniert aber in anderen Browsern)Php

PHP-Programmierer chatten hier
Guest
 Sitzungsinformationen gehen in Chrome verloren (funktioniert aber in anderen Browsern)

Post by Guest »

Dies ist möglicherweise die gleiche Frage wie der Verlust von Sitzungsdaten nur in Chrome und hängt mit dem zufälligen Verlust von Sitzungsvariablen nur in Google Chrome und dem Umschreiben von URLs zusammen.

Da gibt es keine Lösungen Das wird für mich funktionieren. Ich hatte gehofft, dass jemand dazu neuen Input hat.

Dies sind die Schritte, die ich befolge:
  • Ich initialisiere eine Sitzung (kein Cookie) mit und setzen Sie die Variable später in derselben PHP-Datei mit $_SESSION['nu'] = $userName;
  • Dann leite ich zu einem neuen PHP mit window.location.href = "foo.php" um. Diese PHP-Datei startet die Sitzung (als erstes, wie oben) und verwendet dann $_SESSION['nu']. Bisher funktioniert alles in allen Browsern einwandfrei.
  • Auf der zweiten PHP-Seite (die in Schritt 2) in Chrome (31.0.1650.26 Beta):
    • Ich kann $_SESSION['nu'] in einer PHP-Datei verwenden, auf die über einen AJAX-Aufruf zugegriffen wird.
    • Wenn ich die Seite neu lade, $_SESSION['nu'] ist nicht mehr gesetzt. Direkt nach dem ersten Laden ist es nicht gesetzt.
    • Wenn ich zu einer anderen Seite gehe, die ebenfalls $_SESSION['nu'] benötigt, kann sie auch nicht darauf zugreifen.
  • Auf Safari (5.1.9 und 5.1.7) und Firefox (24.0 und 18.0) kann ich neu laden und zu einer anderen Seite gehen, $_SESSION[ 'nu'] ist gesetzt und alles funktioniert gut.
  • Wenn ich das in meiner Heimumgebung (MAMP 1.9.6) teste, funktioniert es auch auf Chrome einwandfrei.
    In beiden php.ini-Dateien (Home und Online) ist session.use_only_cookies aktiviert (Local und Master).
Da ich über AJAX darauf zugreifen kann (keine Änderung von Seite) scheint Chrome ein Problem mit der Sitzung zu haben, wenn eine neue Seite aufgerufen wird. Aber warum klappt es dann beim ersten Mal? Ich wechsle Seiten...

Ich habe die favicon.ico-Lösung ausprobiert (ich habe eine Symboldatei namens favicon.ico im Webstammverzeichnis abgelegt), aber es funktionierte Ändert nichts.

Irgendwelche Vorschläge? Danke!

Update
  • Alle PHP-Dateien Ich versuche, auf $_SESSION['nu'] zuzugreifen und sitze im Stammverzeichnis ('meinem' Stammverzeichnis, da ich ein Webhotel verwende).


    Schau hinein In der Chrome-Konsole kann ich unter „Ressourcen -> Cookies“ sehen, dass das Cookie immer vorhanden ist (wenn ich von dort weg gehe). die PHP-Datei, die die Sitzung zu foo.php startet).
  • Was mich verblüfft, ist, dass es in FF und Safari funktioniert...
Update2

Bilder von der Konsole . Folgendes sehe ich, wenn ich in foo.php (der zweiten Seite) bin:

Chrome:

Image

Safari:

Image


LÖSUNG (hoffentlich):
Ich bin mir nicht sicher, warum es jetzt funktioniert, was mich nicht ganz beruhigt, aber vorerst ... Um zu erklären, was passiert ist, muss ich einige weitere Details angeben:

< ul>
[*]index.php ruft start_session() auf. Setzt die Variable $_SESSION['nu'] = Null. Dann wartet die Seite darauf, dass auf die Schaltfläche „Anmelden“ geklickt wird.
[*]Die Schaltfläche „Anmelden“ verfügt über ein Skript, das über AJAX singIn.php aufruft, das start_session() aufruft und festlegt $_SESSION['nu'] = "bar". In der Funktion done() des AJAX-Aufrufs ruft das Skript window.location.href = "foo.php" auf.
[*]foo.php ruft session_start( ) und ruft $_SESSION['nu'] ab.


In meinem Try-Anything-Modus habe ich das Entfernen der start_session getestet () aus index.php. Ich habe auch die Zuweisung $_SESSION['nu'] = Null entfernt. Ich wollte, dass sie vorhanden sind, um sicherzustellen, dass der Besuch von index.php die Sitzung bereinigt und den Benutzer de facto abmeldet. Aber die Seite hat eine richtige Abmeldeoption, also kann ich dabei bleiben.

Ohne diese Zeilen in index.php scheint es in Chrome zu funktionieren. Das heißt, der Wert von $_SESSION['nu'] geht nicht verloren, wenn der Benutzer durch andere Seiten der Website navigiert oder foo.php neu lädt.

Wie gesagt Früher funktionierte dies in FF und Safari ständig. Jetzt auch in Chrome. Ich würde mich sehr freuen, wenn jemand eine Erklärung finden könnte!

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post