• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:setcookieの位置)

setcookieの位置

このQ&Aのポイント
  • setcookie関数を最初に置いた場合、カウントの数字が1のまま増えない現象が発生します。
  • セッションのサンプルでは、始まりの行でセッションがセットされ、正常にカウントされます。
  • クッキーを最初にセットすると、クッキー自体がセットされずにカウントが1のままになります。

質問者が選んだベストアンサー

  • ベストアンサー
noname#244856
noname#244856
回答No.2

すごく単純な問題ですが… 原則的にPHPコードは上から順番に実行されますよね。 <?php setcookie("ponpon", $kazu); ← この時点では $kazu は未定義です。未定義の変数の値を使おうとすると E_NOTICE レベルのエラーを発生し、NULLが代入されて自動的に初期化されます。まずこのエラーの発生に気付いていない時点でデバッグ作業に難ありなので、php.iniの設定で error_reporting = E_ALL | E_STRICT display_errors = On とし、全てのエラーを表示するようにしてください。そして isset は未定義に加えてNULLという値に対しても同様にFALSEを返すので、ifブロック後半の $kazu = 1; が実行されます。常にこの処理が行われていただけです。

okdayook
質問者

お礼

お答えありがとうございます。 プログラムは上から処理されていくのですが 空の場合はそのまま下に下って行き 下の部分から自動的に$kazuに値が入ると思っていました。 前は「2K-NT-XP」を使ってPHPを練習していたのですが プログラム自体が古いようで作動しない関数が沢山あるため、 レンタルサーバを使ってPHPの勉強をしています。 レンタルサーバではエラー表示は何も出ないようです。 とにかくありがとうございました。

その他の回答 (1)

回答No.1

第三のパラメータに有効期限を入れてみてください。 例:time()+60*60*24 とか

okdayook
質問者

お礼

質問内容がうまく伝わらなかったようで すみません。 とにかくありがとうございました。

関連するQ&A

専門家に質問してみよう