• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:よくわかるPHPの教科書のエラー?について)

よくわかるPHPの教科書のエラー?について

このQ&Aのポイント
  • PHPの教科書に記載されているよくわかるPHPの教科書5.5対応のプログラムで、ファイルを開くと「Undefined index: page」というエラーが表示されます。
  • 次のページまたは前のページを押すとエラーは消えますが、エラーを非表示にせずにプログラム内で解決する方法を知りたいです。
  • 初心者なので、できるだけ分かりやすい解決方法を教えてください。

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

  • ベストアンサー
  • ONEONE
  • ベストアンサー率48% (279/575)
回答No.3

最初のページのURLには 「?page=数字」というクエリストリングがないために、 $_REQUEST['page']と書くと Notice: Undefined indexというエラーが出ます。 $page = $_REQUEST['page']; を $page = isset($_REQUEST['page']) ? $_REQUEST['page'] : ""; と置き換えればエラーは消えます。 三項演算子を使っています。 A ? B : C と書いたとき、AがtrueならB, falseならCという処理となります。 isset関数で配列インデックスが定義済かどうか確認し、 定義済みならその値を、未定義なら空文字""を$pageに代入しています。 詳しくは下記を参照ください。 http://qiita.com/mpyw/items/2f9955db1c02eeef43ea#1-2

adatruto
質問者

お礼

わかりやすい解説ありがとうございます。

その他の回答 (2)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

>Notice: Undefined index: page in C:\xampp\htdocs\shop\index.php on line 14 Noticeは「たいしたことないけど一応気にしておいて」というエラーです 「on line 14」とあるとおりプログラムの14行目でエラーが発生しています。 おそらく14行目は >$page = $_REQUEST['page']; だと思います。 これは、「$_REQUEST['page']」が存在しないので、存在しないデータを $pageに代入しようとしているために発生しています。 考え方は2つ (1)Noticeは気にする必要がないので、あえて無視する 具体的には「<?php」の直後の行に、以下を書いてNOTICEを表示させない error_reporting(E_ALL & ~E_NOTICE); (2)エラーになっている個所を修正する $page = isset($_REQUEST['page'])?$_REQUEST['page']:""; のどちらかでよいかと思います。

回答No.1

馬鹿でも初心者でも検索くらいできるよね? Notice: Undefined index: これをgoogleに入れただけで一番上にそのままの解決法が出てくるんだけど。

関連するQ&A