• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:「未定義の変数」の定義について(PHP))

未定義の変数の定義について(PHP)

このQ&Aのポイント
  • 「未定義の変数」の表示を消す方法についてご教示ください。
  • 下記のコードで「未定義の変数」というエラーが表示されます。このエラーを取り除く方法を教えてください。
  • PHPのコードで「Notice: Undefined index: page」というエラーが表示されます。このエラーを解消する方法を教えてください。

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

  • ベストアンサー
  • agunuz
  • ベストアンサー率65% (288/438)
回答No.2

>Notice: Undefined index: page in C:\xampp\htdocs\shop\index.php on line 3 >ということで、未定義の変数ということでおしらせが出ています。 未定義の添え字ですね(未定義の変数の場合はUndefined variables となります)。 ブラウザから投稿される変数に関してはisset()で存在を確認してから使うのが基本です。また「GET/POSTの両方のケースがある」のでもない限りは$_REQUESTは使わずに$_GETもしくは$_POSTで書きます。このスクリプトだと$_GETだけではないですかね。 $page = isset($_GET['page']) ? intval($_GET['page']) : 1; なお、ネイティブなMySQL関数は先がありません。古い書籍などでMySQL関数しか書いていないものであれば自分で『PDOなどに書き替える』ことをやっておくといいです。

dradra33
質問者

お礼

agunuzさま いつもご回答ありがとうございます! $page =$_REQUEST['page']; を $page = isset($_GET['page']) ? intval($_GET['page']) : 1; に置き換えたら "Notice"が消えました。アドバイス助かります。 またPDOについてよくわからないので、 自分で調べてみます。

その他の回答 (1)

回答No.1

$page =$_REQUEST['page']; $_REQUESTにpageがあるかどうか調べれば良いのでは? if(isset($_REQUEST['page']){   $page=$_REQUEST['page']; }else{   $page=""; } もしくはphp.iniでdisplay_errors = Offでエラー表示しないとか error_reporting = E_ALL & ~E_NOTICEでnoticeだけ非表示とか phpファイルの頭でerror_reporting(E_ALL & ~E_NOTICE);とか

dradra33
質問者

お礼

CyberCypherさま ご回答ありがとうございます。 "Notice"そのものについては、 No.2のご回答で解決することができました。 php.iniファイルで エラーの範囲の決める方法については、 今後の参考にさせていただきます。 アドバイス助かります。

関連するQ&A

専門家に質問してみよう