P粉6449810292023-08-24 11:13:56
これらを試してください
リーリーまたは、簡単で汚い解決策として:
リーリーセッションに関する注意事項:
セッションを使用する場合は、セッションを使用するすべてのファイルに session_start();
を配置する必要があります。
P粉7879344762023-08-24 10:41:30
このエラー メッセージは、PHP プログラマーが存在しない変数 (または配列要素) にアクセスするときにタイプミスやエラーを検出できるようにすることを目的としています。つまり、優れたプログラマー:
E_WARNING レベルのエラーを生成します。
に記載されているように、 これは、変数がインクルードされたファイルから値を取得する可能性があり、その値が初期化されていない変数へのアクセスに予期される
null の代わりに使用されることを意味し、これにより予測できない結果が生じる可能性があります。これを回避するには、使用前に PHP ファイル内のすべての変数を初期化することをお勧めします。
問題への対処方法:
各変数を使用する前に宣言してください。そうすれば、実際に存在しない変数を使用しようとするという間違いを犯した場合にのみ、このエラーが表示されます。まさにそれが、このエラー メッセージが存在する理由です。 リーリー
リーリー
これは特定のエラーのみを対象としていますが、本質的にはエラー抑制であることに注意してください。したがって、PHP が均一変数をマークすることによって支援できなくなる可能性があります。 < 7.0),可以使用带有三元的 isset()
エラーを抑制するには、
@operator注: 未定義のインデックス/未定義のオフセット/警告: 未定義の配列キー この通知/警告は、ユーザー (または PHP) が配列の未定義のインデックスにアクセスしようとすると発生します。
コードで定義された内部配列を扱うときも、態度はまったく同じである必要があります。使用する前にすべてのキーを初期化するだけです。このようにして、バグは本来の仕事を行い、コード内のエラーをプログラマに通知します。したがって、方法は同じです:
推奨:配列要素を宣言します:
リーリー特殊なケースは、一部の関数が配列または他の値 (null
や false
など) を返す場合です。次に、
外部配列 ($_POST
/ $_GET
/ $_SESSION
または JSON 入力など) の場合は、プログラマが次のことを行うため、状況は少し異なります。このクラスは制御できません 配列の内容。したがって、特定のキーが存在するかどうかを確認したり、欠落しているキーにデフォルト値を割り当てたりすることは合理的です。
PHP スクリプトに HTML フォームが含まれている場合、最初に読み込まれるときにはフォームのコンテンツが存在しないのは当然です。したがって、このようなスクリプトはフォームが送信されたかどうかをチェックする必要があります
リーリー一部の HTML フォーム要素 (チェックボックスなど) は、チェックされていない場合、サーバーに送信されません。この場合、null 合体演算子を使用してデフォルト値を割り当てることが正当化されます。 リーリー
リーリー
すべての入力を検証します 、それらをローカル変数に割り当て、コード全体で使用します。したがって、アクセスするすべての変数は意図的に存在します。 ###関連している:###
注: 未定義の変数