2012-02-06 97 views
-2

我有一个PHP页面,其中有一个复选框,用户可以选中该复选框来选择记住浏览器下一次登录的字段。我使用的代码:如何使用javascript在浏览器中保存cookie

if(rememberCheck.checked==true){ 
     var exdate=new Date(); 
     exdate.setDate(exdate.getDate() + exdays); 
     var cod_value=escape(codice.value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString()); 
     document.cookie="cod=" + cod_value+";log="+login.value; 
} 
function getCookie(c_name){ 
    var i,x,y,ARRcookies=document.cookie.split(";"); 
    for (i=0;i<ARRcookies.length;i++){ 
     x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("=")); 
     y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1); 
     x=x.replace(/^\s+|\s+$/g,""); 
     if (x==c_name){ 
      return unescape(y); 
     } 
    } 
} 
function checkCookie(){ 
    var cod=getCookie("cod"); 
    var username = getCookie("login"); 
    if (username!=null && username!="" && cod!=null && cod!=""){ 
     var usn = document.getElementsByName('usn')[0]; 
     var codice = document.getElementsByName('codice')[0]; 
     usn.value=username; 
     codice.value=cod; 
    } 
} 

的问题是,当我读到的cookie,它读取PHPSESSID = XXXXXX,而不是我写的东西。我能做什么?你可以帮我吗?

+0

也许最好是使用'Set-Cookie'和'Cookie' HTTP头并在PHP $ _COOKIE'关联数组中? – 2012-02-06 09:40:45

回答

0
<?php 
if(isset($_POST['rem_me'])){ 
    if($_POST['rem_me']=='on'){ 
     setcookie ("remember", $value, time()+360000); 
    } 
} 
?> 
-1

为什么不使用jQuery的$后在服务器上设置PHP饼干代替,它们比JS饼干

+0

我想保存在浏览器中,所以当用户关闭浏览器并再次访问我的页面时,Cookie必须存储。 PHP是服务器端,是一样的吗? – JackTurky 2012-02-06 09:23:38

+0

这是一个不好的解决方案!发送设置cookie的请求需要重新加载页面才能成功。您无需创建大量流量。 @ user1190704 - >看看[这个cookie解决方案有很好的解释](http://www.quirksmode.org/js/cookies.html) – japrescott 2012-02-06 09:33:30

+0

真的,它确实会增加服务器负载,但是您获得更好的灵活性易于与 – 2012-02-06 09:38:02

4

您可以用PHP做到这一点更容易使用。
登录时,如果用户选中 “记住我”,然后在PHP
你可以像

<?PHP
如果(isset($ _ POST [ 'rem_me'])& & $ _ POST [” ('code',$ value,time()+(3600 * 24 * 30 * 12)); //设置你的cookie
}
? >

如果有什么理由让你只用javascript来做?

+1

我说javascript导致我做setcookie(“code”,$ value);但是当我关闭浏览器cookie被删除,我认为在JavaScript cookie可以保存在大字 – JackTurky 2012-02-06 09:37:46

+0

上面的评论是最好的例子,根据经验和推论的研究,但没有一丝阅读手册:) – 2012-02-06 09:39:46

+0

理解!我没有设置过期日期,所以当我关闭浏览器时,它会丢弃cookie;) – JackTurky 2012-02-06 09:41:51

相关问题