SSブログ

サンプルプログラムで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); ?> 

ケースによって対処法は変わってくるだろうが、仕事の場合はやっぱり(1)かな。 

 

 


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:学問

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。