Ich arbeite an einer Web-App für das iOS. Wenn die App geöffnet wird, prüft sie, ob der Benutzer ein Cookie mit der darin gespeicherten E-Mail-Adresse des Benutzers hat. Anschließend kann der Benutzer entweder die Startseite aufrufen oder den Benutzer auf die Authentifizierungsseite umleiten.
Dies funktioniert perfekt bei Safari. Das Problem tritt nur auf, wenn die App auf dem Startbildschirm gespeichert wird. Es scheint so, als ob die Home-Screen-Web-App den Cookie löscht, wenn der Benutzer die Anwendung beendet.
Jeder Hinweis, die App zum Speichern dieses Cookies zu zwingen, würde sehr geschätzt.
Danke, Peter
Der Grund dafür ist, dass der Timeout-Parameter nicht gesetzt ist. Wenn er leer ist oder 0, wird der Cookie gelöscht, wenn die uiwebview geschlossen wird.
so können Sie tun, wie das andere Plakat vorgeschlagen ..
setcookie ("TestCookie", $ Wert, Zeit () + 3600, "/");
, aber der Grund dafür ist, dass der Zeitüberschreitungswert eingestellt ist
Es gibt einen Parameter path
für die Funktion setcookie
, die Sie verwenden möchten so dass Cookie von fast jeder Seite erstellt wird:
Der Pfad auf dem Server, in dem der Cookie wird verfügbar sein am. Wenn auf eingestellt '/', der Cookie wird verfügbar sein innerhalb der gesamten Domain. Wenn auf eingestellt '/ foo /', der Cookie wird nur sein verfügbar im Verzeichnis / foo / und alle Unterverzeichnisse wie / foo / bar / der Domäne. Der Standardwert ist das aktuelle Verzeichnis, das der Cookie wird gesetzt.
Versuchen Sie also, '/'
als viertes Argument für die Funktion setcookie
hinzuzufügen, zB:
Sie können die Sitzung nicht auf dem iPhone abrufen, da der Cookie deaktiviert ist.
Bitte gehen Sie zu Safari & gt; Einstellungen & gt; Akzeptieren Sie Cookies in Ihrem iPhone und setzen Sie es so, dass es von Visited akzeptiert wird.
Dann können Sie die Sitzung in PHP erstellen.