2016-08-10 12 views
0

私は、コードを使用しています。$ sessie(メニュー一品)の新しい値の後クッキー

IF (isset($_GET['s'])) 
{ 
    $sessie = $_GET['s']; 
} 
ELSE 
{ 
    $sessie = 'I'; 
} 
$cookie = 'JaiDje_Page'; 
setcookie($cookie, $sessie); 
$WDpag = $_COOKIE[$cookie]; 
echo $WDpag."-".$_COOKIE[$cookie]."-".$sessie."<br>"; 

奇妙なことは、ページがロードされた最初の時間、$ WDpagことと$です_COOKIE [$ cookie]は古い値を与えており、$ sessieは新しい値を与えています。 ページのリフレッシュ後、3つの値はすべて同じです。それは、クッキーと思われるページ・リフレッシュ(F5)

ZZZ

後よりも、次のメニューに一品を行った後ので

はエコー(exampel)

IIZ

です私のメニューのチョイスの一歩です。

私は間違っていますか?

答えて

0

$_COOKIEページがロードされたときに設定されます。すぐにアクセスしたい場合は、$_COOKIE['variable']を直接設定できます。

ので、この

//setcookie($cookie, $sessie); 
$_COOKIE[$cookie] = $sessie; 
+0

おかげで、これは他の答えと一緒に、複数の点についての解決策でした!すばらしいです! :-) –

0

のような理由が$_COOKIE[$cookie]は、ブラウザによって送信され、現在のクッキーを返すということですか。 setcookieはブラウザにクッキーを送信します。値$_COOKIE[$cookie]を取得すると、ページが要求された後に設定されるため、Cookieはまだ設定されていません。

setcookie後にこれを入れてみてください:

if($_COOKIE[$cookie] != $sessie) header("location: pageName.php"); 
+0

ありがとう、これは他の答えと一緒に複数のポイントの解決策でした!すばらしいです! :-) –