我正在开发适用于iOS的网络应用。当应用程序打开时,它会检查用户是否有一个存储有用户电子邮件的cookie,然后让用户进入主页,或者将用户重定向到身份验证页面。
使用safari时效果很好。我遇到的问题仅在应用程序存储在主屏幕上时才会发生。似乎主屏幕Web应用程序在用户退出应用程序时删除了cookie。
强制应用程序存储该cookie的任何建议都会非常感激。
谢谢, 彼得
答案 0 :(得分:4)
它没有留下的原因是因为没有设置超时参数..如果它是空白或0,那么当uiwebview关闭时,cookie将被删除..
所以你可以像其他海报建议那样做..
setcookie(“TestCookie”,$ value,time()+ 3600,“/”);
,但有效的原因是因为设置了超时值
答案 1 :(得分:0)
您可能希望使用setcookie
函数的参数path
,以便从任何页面创建Cookie:
服务器上的路径 cookie将可用。如果设置为 '/',cookie将可用 在整个域内。如果设置为 '/ foo /',cookie只会是 在/ foo /目录中可用 和所有子目录,如 / foo / bar /域名。默认值 是当前目录 正在设置cookie。
因此,尝试将'/'
添加为setcookie
函数的第四个参数,例如:
setcookie("TestCookie", $value, time()+3600, "/");
答案 2 :(得分:-1)
您无法在iPhone上获取会话,因为cookie已被禁用。
请转到Safari>设置>在iPhone中接受Cookie并将其设置为接受来自Visited。
然后您就可以用PHP创建会话了。