2016-05-23 9 views
0

私は今、私のページにクッキーを設定しようと2時間努力しました。インターネットで多くのことを読んだ後、私は何が間違っているのかまだ分かりません。 これは私のコードです:setcookie()が動作しない

<?php 

$cookie_name = "user"; 
$cookie_value = "MyUserName"; 

$days = 86400*30; 
$cookie_time = $days+time(); 

setcookie($cookie_name, $cookie_value, $cookie_time, '/'); 

if (!isset($_COOKIE[$cookie_name])) 
{ 
    echo "Cookie named '" . $cookie_name . "' is not set!"; 
} 
else 
{ 
echo "Cookie '" . $cookie_name . "' is set <br/>"; 
echo "Value is: " . $_COOKIE[$cookie_name]; 

?> 

私のエコーの結果は「『ユーザー』という名前のクッキーが設定されていない!」です毎回! 誰かが私を助けることができますか? :)あなたの中に

+2

'setcookie()'はクッキーを設定し、エラー時に 'false'を返します。あなたは少なくとも2つのことを確認しなければ、それが動作しないと主張することはできません:1)戻り値2)HTTPヘッダーが応答 –

+2

BTWに現れるかどうか、あなたの現在の検証は正しくありません。 [マニュアル](http://php.net/setcookie)のように:「クッキーが設定されたら、$ _COOKIE配列で**次のページの読み込み**でアクセスできます。 –

+1

あなたが持っているかもしれないもう一つの問題は、あなたがテストしているドメインでしょう。もしそれがlocalhostなら、あなたはこれに従うべきです:http://php.net/manual/ro/function.setcookie.php#73107 –

答えて

2

あなたの持っている構文エラーは他のなステートメント

をcolseするよミスをコーディングし、あなたのコードは、クッキー

$cookie_name = "user"; 
$cookie_value = "MyUserName"; 

$days = 86400*30; 
$cookie_time = $days+time(); 

setcookie($cookie_name, $cookie_value, $cookie_time, '/'); 

if (!isset($_COOKIE[$cookie_name])) 
{ 
    echo "Cookie named '" . $cookie_name . "' is not set!"; 
} 
else 
{ 
echo "Cookie '" . $cookie_name . "' is set <br/>"; 
echo "Value is: " . $_COOKIE[$cookie_name]; 
} 
+0

私がここに書いたときにelse文を閉じるのを忘れてしまった!それは問題ではありません。 – NickiJey

0

を設定します、これを試してくださいあなたはelse文を閉じるのを忘れ:

else 
{ 
echo "Cookie '" . $cookie_name . "' is set <br/>"; 
echo "Value is: " . $_COOKIE[$cookie_name]; 

ヒント:Error Reportingをオンにする必要があります。このコードをPHPファイルの先頭に追加すると、エラーを見つけるのに役立ちます。

<?php 
error_reporting(E_ALL); 
ini_set('display_errors', 1); 
+0

私はエラーコードを挿入するときにこれを持っています:ヘッダー情報を変更できません - 既に送信されたヘッダー。 – NickiJey

+0

@NickiJey完全なコードを投稿できますか? – Panda

関連する問題