PHPで未定義のインデックスの問題を解決する方法
このプロンプトはエラー表示モードを設定することで非表示にできますが、これには隠れた危険もあります。つまり、これらのプロンプトがサーバーのログに記録され、ログ ファイルが異常に大きくなるということです。通常は $_post[''] を使用します。$_get[''] は次の形式でパラメータを取得するときに表示されます。
Notice: 未定義のインデックス: --------; フォームの POST をよく受け取ります。データは、次のように未定義のインデックス エラーを報告します。 $act=$_POST['action'];
注意: 未定義のインデックス: D で動作します。 :\test\post.php 20 行目
さらに、場合によっては
通知: 未定義の変数: 送信... などのプロンプトが表示されます。
上記は PHP 自体のエラーではなく、PHP プロンプトです。事前に変数を宣言する必要はありません。直接使用できますが、宣言されていない変数についてはプロンプトが表示されます。通常、正式な Web サイトではプロンプトがオフになり、エラー メッセージもオフになります。
解決策:
方法 1: サーバー構成の変更
php.ini のエラー構成でエラー表示モードを変更します。error_reporting = E_ALL を error_reporting = E_ALL & ~ に変更します。 E_NOTICE
変更を有効にするために、変更後に APCHE サーバーを再起動します。
方法 2: 変数を初期化します。
方法 3: 判定 isset($_post['']), empty($_post['']) if --else
方法 4: 通知コードが表示される前に @ を追加します。@ はこの行を表します Doエラーまたは警告がある場合は出力されません。 @$username=$_post['username']
if (@$_GET['action']=='save のように、変数の前に @ を追加します) ') { ..
方法 5: 最後の方法は、他の人が作成した関数であり、この関数を通じて値が転送されます。
関数を定義します:
function _get($str){ $val = !empty($_GET[$str]) ? $_GET[$str] : null; return $val; }
それを使用するときは、$_GET['str']~[PHP-Core-Error]
の代わりに _get('str') を使用します。 error_reporting = E_ALL & ~E_NOTICE
; エラー報告レベルはビット フィールドの重ね合わせです。 E_STRICT
; 1 E_ERROR 致命的な実行時エラー
;性的エラー)
; 4 E_PARSE コンパイル時の解析エラー
; 8 E_NOTICE 実行時のリマインダー (多くの場合、意図的なものである可能性があります)
; 16 E_CORE_ERROR PHP 起動初期化プロセス中の致命的なエラー
; 32 E_CORE_WARNING PHP 起動初期化プロセス中の警告 (致命的ではないエラー)
; 64 E_COMPILE_ERROR コンパイル中の致命的なエラー
; 128 E_COMPILE_WARNING コンパイル中の警告 (致命的ではないエラー)
; 256 E_USER_ERROR ユーザ定義の致命的なエラー
; 512 E_USER_WARNING ユーザー定義の警告 (致命的ではないエラー)
; 1024 E_USER_NOTICE ユーザー定義のリマインダー (多くの場合、意図的なものである可能性があります)
; 2048 E_STRICT エンコーディングの標準化に関する警告 (推奨される変更方法)前方互換性のため)
; 4096 E_RECOVERABLE_ERROR 致命的に近い実行時エラー。検出されなかった場合、E_ERROR として扱われます。
; 6143 E_ALL E_STRICT を除くすべてのエラー (PHP6 8191 では、すべてを含みます)
以上がこの記事の全内容です。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。
関連する推奨事項:
PHP でstrip_tags() を使用して HTML タグを削除しても、空のソリューションが残るPHP の使用方法ユーザークライアントの実際の IP を取得するため#
以上がPHPで未定義のインデックスの問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Index.html は Web ページのホームページ ファイルを表し、Web サイトのデフォルト ページです。ユーザーが Web サイトにアクセスすると、通常、index.html ページが最初に読み込まれます。 HTML (HypertextMarkupLanguage) は Web ページの作成に使用されるマークアップ言語であり、index.html も HTML ファイルです。これには、Web ページの構造とコンテンツに加えて、書式設定とレイアウトに使用されるタグと要素が含まれます。以下は、index.html コードの例です: <

PHP でコードを作成するときに、「通知: 未定義のプロパティ」というエラー メッセージが表示される場合があります。このエラーは、未定義のプロパティにアクセスしていることを意味します。通常、そのプロパティがコード内で初期化されていないことが原因です。では、この問題をどうやって解決すればよいでしょうか?考えられる解決策は次のとおりです。 プロパティを初期化する これは、この問題を解決する最も簡単な方法です。コード内でプロパティを明示的に初期化すると、使用前にプロパティが確実に定義されます。例: クラス

Vue.jsで開発しているときに「TypeError: Cannotreadproperty'$XXX'ofundefine」というエラーメッセージが頻繁に表示される場合、どう対処すればよいでしょうか。この記事では、このエラーの原因と修正方法について説明します。この問題の原因は、Vue.js を使用するときに、これをよく使用して次のような Vue コンポーネントのメソッドを呼び出すことです。

JavaScript では、未定義と null はどちらも「何もない」という概念を表します: 1. 未定義は初期化されていない変数または存在しないプロパティを表します。変数が宣言されていても値が割り当てられていない場合、変数の値は未定義です。オブジェクト内に存在しないプロパティにアクセスする場合、戻り値も未定義になります; 2. null は空のオブジェクト参照を表します。場合によっては、オブジェクト参照を null に設定して、オブジェクト参照が占有しているメモリを解放できます。

未定義は、値または変数が存在しない、または未定義の状態を表します。これは、変数に値が割り当てられているかどうかを判断するためのデフォルト値として使用でき、また、デフォルトのパラメータ値を設定するためにも使用できます。未定義の意味や使用法はプログラミング言語によって異なる場合がありますが、未定義の概念を理解することは、プログラムをより深く理解して作成するのに役立ちます。

Go 言語では、パス パッケージはファイル パスを処理するための重要なツールの 1 つです。 path.Join() 関数は、複数のパスを完全なパスに結合できます。ただし、場合によっては、「未定義: path.Join」というエラー メッセージが表示される場合があります。どうすればよいでしょうか?一般的な解決策をいくつか示します。 import ステートメントを確認する まず、パス パッケージが正しくインポートされたことを確認する必要があります。 Go 言語では、パッケージをインポートするときに次のことができます。

null と unknown はどちらも、値が欠落しているか、未定義の状態であることを示します。使用シナリオに応じて、null または unknown の使用を選択するための指針がいくつかあります。1. 変数が空または無効であることを明確に示す必要がある場合、 null を使用できます; 2. 変数が宣言されていても値が割り当てられていない場合、デフォルトで未定義に設定されます; 3. 変数が空か未定義かを確認する必要がある場合は、厳密な等価演算子 "= を使用します。 == 変数が null か未定義かを判断します。

null と未定義の違いは次のとおりです: 1. 意味上の意味; 2. 使用シナリオ; 3. 他の値との比較; 4. グローバル変数との関係; 5. 関数パラメーターとの関係; 6. Nullability チェック; 7. パフォーマンスに関する考慮事項; 8 . JSON シリアル化のパフォーマンス; 9. 型との関係。詳細な紹介: 1. セマンティックな意味。null は通常、この変数が有効なオブジェクト値を持たないことがわかっていることを意味し、未定義は通常、変数に値が割り当てられていない、またはオブジェクトにこの属性がないことを意味します。 2. 使用シナリオ、など。
