如何使用javascript在浏览器中保存cookie

时间:2012-02-06 09:16:18

标签: php javascript browser cookies

我有一个带有表单的php页面,其中我有一个复选框,用户可以选中在浏览器下次登录时选择记住字段。我正在使用该代码:

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,而不是我写的内容。我能做什么?你能救我吗?

3 个答案:

答案 0 :(得分:4)

你也可以用php做到这一点 在登录时,如果用户选中“记住我”,那么在php上 你可以这样做

  

&lt;?php
if(isset($ _ POST ['rem_me'])&amp;&amp;   $ _POST ['rem_me'] =='on')
{
      setcookie(“code”,$ value,time()+(3600 * 24 * 30 * 12)); //设置你的cookie>}?&gt;

是否有任何理由只想用javascript进行操作?

答案 1 :(得分:0)

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

答案 2 :(得分:-1)

为什么不使用jquery $ post在服务器上设置PHP cookie,它们比js cookies更容易使用