所以我的应用程序中有一个UIWebView
,里面有一个PHP会话。我认为只要用户打开应用程序,就会保留这些cookie。
但最新发生的是用户填写表单,锁定手机一段时间或切换出来然后重新进入应用程序。但由于某种原因,cookie随后丢失,会话重置,他们必须重新启动。
有什么我可能做错了吗?
或者有没有办法在每次加载页面后保存cookie,然后每次用户查看应用程序时都恢复它们?
答案 0 :(得分:0)
如果其他人在尝试自行解决此问题时偶然发现了这一点,我选择在网页上使用JavaScript修复它。
首先将此包含在您的基本HTML文件中,或使用php文件将其放在您网站的每个页面中:(因为您无法在js文件中使用php标头。)
<script>
function get_SID(){
return '<?php echo session_id(); ?>';
}
function get_session_name(){
return '<?php echo session_name(); ?>';
}
</script>
然后将此代码添加到您的一个基本JS文件中:
<script>
function setCookie(cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires="+ d.toUTCString();
document.cookie = cname + "=" + cvalue + "; " + expires + "; path=/";
}
function refresh_cookie(){
setCookie(get_session_name(), get_SID(), 10000);
}
</script>
希望这有助于其他人。