1

重複の可能性:
PHP: 「通知: 未定義の変数」および「通知: 未定義のインデックス」</a>

ここで初めて質問します。小さな原始的なフォーラムを作ろうとしています。私はこれに基づいています:必要な場所に変更を加えながら。

これまでのところ、データベースとそのすべてをセットアップしました。今、私は view_topic.php を修正しようとしていますが、"Notice: Undefined index: id" on line 30 something. This is line 30:を返してい$id=$_GET['id']ます。

4

3 に答える 3

2

idアクセスする前に、有効なインデックスであることを確認する必要があります。

$id = isset($_GET['id']) ? $_GET['id'] : null;
于 2012-12-01T18:43:08.140 に答える
1

注意: 未定義のインデックス:

これは、コードの一部が存在しない配列の要素にアクセスしようとしていることを意味します。

たとえば、次のようになります。

$myArray = Array();  // an empty array
echo $myArray['id']; // print 'id' element

// ^^ Oops! No such element yet!

$_GET配列には、リクエスト URLの一部であるquerystringからの引数が含まれます。?id=1

'id'URL で提供されたときにキーを持つ要素がこれに含まれていない理由を突き止める必要がありidます。次に、この値が欠落している場合の対処方法をコードで決定する必要があります。これには、issetまたはステートメントarray_key_existsなどの関数を使用します。if

有効な値がないとコードを続行できない場合は、より有用なエラー メッセージを表示してスクリプトを終了する可能性が高くなりますid

于 2012-12-01T18:47:01.283 に答える
0

id=URL に存在しますか? コードの先頭近くに次を追加してみてください。

var_dump($_GET);

var_dumpは、変数に関する情報を画面にダンプします。この場合、GETフォームから送信されたすべてのデータが表示されます。これはデバッグ手法であるため、コードが期待どおりに受信されているかどうかを確認できます。フォームがmethod="post"およびidをフォーム内のフィールドとして使用する場合、$_POST['id']または$_REQUEST['id']を使用してアクセスする必要があります。

于 2012-12-01T20:11:51.413 に答える