サンプルプログラムでNOTICEメッセージ [PHP]
入力フォームを使ってデータを送受信しよう!プログラミング未経験から始めるPHP入門(5)
下記のサンプルプログラムを実行したところ、 NOTICEメッセージが表示された。
(ソース complete.php 抜粋)
<?php print( $_REQUEST["check1"] ); ?><br>
<?php print( $_REQUEST["check2"] ); ?><br>
<?php print( $_REQUEST["check3"] ); ?><br>
(NOTICEメッセージ)
Notice: Undefined index: check3 in C:\xampp\htdocs\complete.php on line 17
<input type="checkbox" name="check1" value="検索エンジン"/> 検索エンジン経由で<br>
<input type="checkbox" name="check2" value="ポスター"/> ポスターを見て<br>
<input type="checkbox" name="check3" value="その他"/> その他<br>
入力フォームでチェックを行わない場合のフィールドに対して表示される模様。
調査の結果の解決策:
(1)isset()で初期化チェック
<?php if ( isset($_REQUEST["check1"]) ) print( $_REQUEST["check1"] ); ?><br>
(2)@でメッセージを抑制
<?php print( @$_REQUEST["check1"] ); ?><br>
(3)エラーレベルを変更
下記を先頭に追加。
<?php error_reporting(E_WARNING); ?>
コメント 0