iPhone网页应用程序,不存储cookie

9
我正在为iOS开发一个Web应用程序。当打开应用程序时,它会检查用户是否有一个存储了用户电子邮件的cookie,然后让用户进入主页,或将用户重定向到身份验证页面。
在使用Safari时,这个功能完美运作。但是,当应用程序存储在主屏幕上时,我遇到了问题。似乎主屏幕上的Web应用程序在用户退出应用程序时立即删除了cookie。
请问如何强制应用程序存储该cookie,任何建议都将不胜感激。
谢谢, Peter

我遇到了同样的问题。你解决了吗? - faceclean
使用会话存储解决了这个问题。 - Peter
你能展示一下你的解决方法吗?我也遇到了同样的问题... - helle
请使用 Google localStorage 或查看 https://developer.mozilla.org/en/DOM/Storage。 - Peter
4个回答

4
原因是超时参数没有设置。如果超时参数为空或为0,则在uiwebview关闭时删除cookie。
因此,您可以按照其他帖子的建议操作。
setcookie(“TestCookie”,$ value,time()+3600,“/”);
但这样做有效的原因是设置了超时值。

0

如果有人需要帮助的话; 我是通过unload事件保存Cookie的,这在桌面上运行得很好,但在iPhone上却不行。

与Cookie无关,只需要边保存边进行...


0

setcookie 函数中有一个参数 path,你可能想使用它来创建一个可以从任何页面创建 cookie 的功能:

服务器上 cookie 可用的路径。如果设置为“/”,则该 cookie 将在整个域内可用。如果设置为“/foo/”,则该 cookie 仅在 /foo/ 目录及其所有子目录(如 /foo/bar/)中可用。默认值是正在设置 cookie 的当前目录。

因此,请尝试将 '/' 添加为 setcookie 函数的第四个参数,例如:

setcookie("TestCookie", $value, time()+3600, "/");

我在他的评论中没有看到任何提到 PHP 的地方。只是想知道你从哪里得到的这个信息。 - Helen Neely
谢谢Asif,感谢您的建议,但是cookie路径已经设置为'/'了。还有其他建议吗?Helen,抱歉没有提到...我正在使用PHP。谢谢Peter - Peter

-1

由于Cookie被禁用,您无法在iPhone上获取会话。

请前往您的iPhone中的Safari>设置>接受Cookie,并将其设置为从“已访问”的状态下接受。

然后您就可以在PHP中创建会话了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接