3

そのため、Cookieの設定について多くのことを読みましたが、ここで間違っていることをまだ見つけることができません. 別のスクリプトを含めるステートメントから始めましたifが、Cookie が設定されていないことがすぐに明らかになったので、単純化してエコーするだけにして、設定されているかどうかを確認できるようにしました。そうではありません。の上に含めてい<html>ます。

Cookie を設定してから更新していますが、何回更新してもNULL、コマンドで結果が返されechoます。

  • これsetcookieは私のhtmlのすべての上にあり、出力後にCookieを設定できませんか??
  • 値が設定され、ドメイン。
  • すべてのブラウザーで Cookie が有効になっており、友人がこれをテストしているので、ローカルではありません。
  • サーバーではありません。ホストに尋ねました。
  • PHPマニュアルからコードをコピーして貼り付けても無駄です。
  • そしてもちろん、SOを数百万回チェックしました。

    $var='Something';
    setcookie ("Name", "$var", time()+3600, '/', 'website.com');
    echo $_COOKIE["Name"];
    var_dump($_COOKIE["Name"]);
    var_dump ($HTTP_COOKIE_VARS); 
    

echo戻るNULLvar_dump戻るArray(0)

私は怒っています、私のコードに何か問題がありますか、何が欠けていますか?

4

2 に答える 2

3

Cookie (またはその他のヘッダー) の設定に関する最もよくある問題は、最初の出力文字を送信する前に設定する必要があることです。スクリプトの前に見えない文字 (BOM や空白など) がある場合があります。インクルードを使用する場合、インクルード スクリプトの終了タグの後に空白が含まれる場合があります。

于 2013-03-30T10:55:26.080 に答える
0

Cookie をデバッグするには、HTTP ヘッダーをデバッグする必要があります。
したがって、Firebug を取得し、[ネット] タブに切り替えて、サーバーから送信された、またはブラウザーから返された Cookie を確認できる場合は、要求ヘッダーと応答ヘッダーを監視します。

Cookie の痕跡がない場合は、サーバー側に何らかのエラーがあります。それらを表示するには、エラーの報告と表示を有効にする必要があります

ini_set('display_errors',1);
error_reporting(E_ALL);

迅速で汚い方法です

于 2013-03-30T10:41:21.440 に答える