php インデックス エラーの解決策: 1. php.ini のエラー設定でエラー表示モードを変更します; 2. 変数を初期化します; 3. "isset($_post['']), empty( $_post['']) if --else」の判定。
推奨: 「PHP ビデオ チュートリアル 」
PHP で未定義のインデックス プロンプトを解決する方法 (さまざまな方法)
この記事では、PHP で未定義のインデックス プロンプトを解決する方法 (複数の方法) に関する関連情報を主に紹介します。関連情報
通常、$_post[''] または $_get[''] を使用してフォーム内のパラメーターを取得する場合、注意: 未定義のインデックス: --------;
そして、フォーム POST からデータを受信すると、未定義のインデックス エラーが報告されることがよくあります。
例: $act=$_POST['action']; 上記のコードを使用すると、常にプロンプトが表示されます 注意: 未定義Index: act in D:\test\post. php on line 20 また、場合によっては Notice: 未定義の変数: Submit... などのリマインダーが表示されます。上記はエラーではなく PHP プロンプトです。PHP 自体は宣言する必要はありません変数は事前に定義されており、直接使用できますが、宣言されていない変数についてはプロンプトが表示されます。通常、正式な Web サイトではプロンプトがオフになり、エラー メッセージもオフになります。
2. 問題の説明
つまり、PHP はデフォルトで未宣言の変数の入力を求めるプロンプトを表示しますが、このデフォルトのプロンプトは無視できます
3. 解決策
方法 1: サーバー構成の変更
php.ini のエラー構成でエラー表示モードを変更します。error_reporting = E_ALL を error_reporting = E_ALL & ~E_NOTICE
変更してから、Apache サーバーを再起動します。それは有効になります。
方法 2: 変数を初期化する
つまり、変数を定義した後、その変数に対して特定の初期化を実行しますが、これでは変数がイベント駆動によって初期化されたかどうかを判断できません。
方法3: isset($_post['']), empty($_post['']) if --else判定を行う 方法4: 通知コードが表示される前に追加する @@ は、この行にエラーがあるか、出力しない警告があることを示します。例: @$username=$_post['username']; 変数の前に @ を追加します (例: if (@$) _GET['action' ]=='save') { ...このようにして、このステートメントで警告が発生しても出力されなくなります。方法 5: ビルド値を置き換える関数を自分で作成するメソッド関数コードは次のとおりです:
function _get($str){ $val = !empty($_GET[$str]) ? $_GET[$str] : null; return $val; }それを使用するときは、$_GET['str'] の代わりに _get('str') を使用するだけです。 ~4. 分析の概要PHP は優れたリマインダー メカニズムを提供していますが、それが私たちが望むものではない可能性があります。処理には上記の方法 4 を使用することをお勧めします。これにより、リマインダーが確実に表示されます。リマインダーが観察されると処理され、提供される PHP リマインダー メカニズムも保持されます
以上がPHPの未定義インデックスエラーの問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。