2011-02-11 8 views
0

フォームを送信してページを更新するときに保存する必要がある値を持つPHPページにリンクされたjavascriptファイルがあります。クッキーを読み書きする

クッキーを設定する簡単な方法は、PHPのメソッドと似ていますか?

setcookie("MovementDate", $MovementDate, time()+3600); 

私が見つけたものはすべて非常に複雑で働くようには見えません。

また、セットクッキーを読むことは現在問題です。私の検索から、私はこの方法を思いついたが、うまくいきませんでした。

function readCookie(name) { 
var nameEQ = name + "="; 
var ca = document.cookie.split(';'); 
for(var i=0;i < ca.length;i++) { 
    var c = ca[i]; 
    while (c.charAt(0)==' ') c = c.substring(1,c.length); 
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 
} 

}

var movement = readCookie(MovementDate); 
document.write(movement); 
+0

あなたはjQueryのを使用することができる場合、これらは単純なプラグインjQueryのクッキーです。それは良いです。 http://plugins.jquery.com/project/Cookie – Nishant

答えて

2

、あなたはPHPjsを使用することができます。

読み取りの場合は、runkit_superglobals機能を使用してください。これにより、PHPと全く同じ方法で$_COOKIE超大域へのアクセスが可能になります。

例:

// Setting 
// setcookie uses seconds but the JS Date object returns milliseconds, 
// so we need to divide by 1000 
setcookie("foo", "bar", (new Date().getTime()/1000) + 3600); 

// Reading 
runkit_superglobals();  
alert($_COOKIE["foo"]); // alerts "bar" 
+2

彼がすでにphpjを使っていない限り、それは恐ろしい考えです。 –

+0

@Justin Johnson:それはなぜですか? – cdmckay

2

readCookieを呼び出す場合、引数は文字列である必要があります。この最後の行に2番目の変更:setcookie機能を使用し、設定するために

:あなたはすでにPHPを使用に慣れている場合

var movement = readCookie("MovementDate"); 
関連する問題