2011-08-02 3 views
0

で見つかりません:

<?php 
setcookie("fasciaoffer", $name, time()+36000); 
?> 

私はクッキーが設定されていることを確認しました。

私はその後、私の顧客が買い物かごを見るときのクッキーを取得し、メッセージを表示したい:

<?php 
if (isset($_COOKIE["fasciaoffer"])) 
    echo "<b>Special offers available</b> - buy any 3 covers & get your 4th  choice free! " . $_COOKIE["fasciaoffer"] . "!<br />"; 
else 
    echo "<b>Special offers available</b> - none available on current order<br />"; 
?> 

しかし、私の買い物かごに立ち上がるメッセージはクッキーができないたものです見つかりました。

何が問題なのですか?私のコーディングは正しいですか?


PS。検索ビットが入っているファイル(買い物カゴ)がルートフォルダにありません。

+0

ショッピングカートのページは、Cookieを設定するページと同じドメイン(サブドメインを含む)にありますか? –

+0

@Ibrahimエラーはありません。私はあなたが彼の質問を正しく読むとは思わない。 –

+0

@Ibrahim Azhar Armarエラーメッセージが表示されないようです。むしろ、システムはクッキーが設定されていないかのように動作します –

答えて

0

私はいつもクッキーを扱う興味深い時間を過ごしました。しかしここに私の考えがあります:

1)$ nameは値を渡していますか?あなたはクッキーを配置した後、これを確認するには、$名をエコーし​​ます。私は通常、エコー( "名前:$名前
")で私のヴァースをテストします。私の頭とPHPが同じページにあることを確認するだけです。ヌル値を受け取った場合、問題があります。

2)私は通常、それがbenefitial任意のクッキーを読み込む前に、ページの更新を行うことを見つけます。私はそれが役に立てば幸い(!ISSET($ _ COOKIE [ 'fasciaoffer'])){設定されたCookieコード}

かのようけれども、あなたは修飾子を置く必要があります。

+0

お返事ありがとうございました –

+0

['isset'が' null'に設定された場合は 'false'を返す]良い点(http://php.net/manual/en/function.isset.php )。 –

1

ブールますsetcookie(文字列$名[、文字列$値[、[$ 0を=期限切れにint型、 文字列$パス[、文字列$ドメイン[、ブール$ = falseを確保[、ブール $ HttpOnlyの= FALSE]]]]]])

[..]

path

The path on the server in which the cookie will be available on. 

'/'に設定すると、クッキーはドメイン全体で利用可能になります。 「/ fooの/」に設定すると、クッキーは、そのような/fooの/バー/ドメインのとして/fooの/ ディレクトリとすべてのサブディレクトリ内で使用可能になります。 デフォルト値は、クッキーが に設定されている現在のディレクトリです。

あなたはクッキーを取得するファイルがルート・パスにないことを私たちに語りました。

setcookieに電話するときに、ファイルを設定するファイルがルートパスにない場合は、$path"/"に設定してください。

+0

編集に感謝し、お答えしよう –

関連する問題