2012-02-06 58 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

相關問題