• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Undefined indexというエラーについて)

Undefined indexというエラーについて

このQ&Aのポイント
  • CakePHPでのプログラミングにおいて、Undefined indexというエラーが発生しています。具体的には、app/View/Contracts/detail.ctpファイルの34行目で、statusというインデックスが未定義であるというエラーが表示されます。このエラーの解決方法について教えてください。
  • 質問者はCakePHPでのプログラミング初心者であり、特定のページに注意事項を表示する機能を実装したいと考えています。しかし、該当ページにおいてUndefined indexというエラーが発生しており、解決方法について質問しています。
  • 質問者が実装しようとしている機能は、クエリパラメータに基づいてテキストの表示/非表示を切り替えるものです。具体的には、statusというテーブルをSQLで登録してあり、クエリパラメータを判断材料として使用する予定です。エラーの原因と解決策について教えてください。

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

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

パラメータが通っていれば問題ないですね。 何が足りないのか?ということです。 >indexとの関係について調べれば良いのでしょうか? その通り。 まぁ、答え書くと指定された配列のindexにアクセスしたが、アクセスできねーぞ!!(激怒) こういうことですね。 issetで例外とっちゃいましょう。意味分からなければ調べてね <?php $status= isset($this->request->query['status']) ? $this->request->query['status'] : ""; $campaign_id= isset($this->request->query['campaign_id']) ? $this->request->query['campaign_id'] : ""; if($status) { //判定文 echo ''; // "全て以外" } elseif($campaign_id) { //それ以外の判定文 echo 'テキスト'; } ?> 追記:38行目全角空白になってるよ。

lala200
質問者

お礼

プログラムの答えをそのままお答え頂き、ありがとうございますー! 素晴らしいですー!上手く行きました! issetですね。調べてみます!ご教授ありがとうございましたー! ^o^

その他の回答 (1)

  • t_ohta
  • ベストアンサー率38% (5241/13712)
回答No.1

エラー内容は $this->request->query[] という配列に 'status' というキー(index)が存在していないと言っています。 存在しないキーで配列を参照したのでエラーなのです。 array_key_exists('status', $this->request->query); などを使って、まずキーが存在することを確認した上で、中身がTRUE相当か判定するといいでしょう。 if(array_key_exists('status', $this->request->query) && $this->request->query['status']) { って感じですかね。

lala200
質問者

お礼

早々にご回答ありがとうございます! 最初にご回答頂いた方から教わったisset関数で書いたら上手く行きました。 array_key_existsというのもあるのですね。参考にさせて頂きます。 ありがとうございました。

関連するQ&A