-2

私は再びこのエラーがあります:

注意: 未定義のインデックス: E:\wamp\www\PHP\create.php の 5 行目の IDNUMBER

これが私のコードです:

    <?php
        include 'E:\wamp\www\PHP\connection.php';

        $IDNUMBER = $_POST['IDNUMBER'];
        $LNAME    = $_POST['LNAME'];
        $FNAME    = $_POST['FNAME'];
        $MNAME    = $_POST['MNAME'];
        $GRADEYR  = $_POST['GRADEYR'];
        $ADDRESS  = $_POST['ADDRESS'];
        if(!$_POST['submit']) {
            echo "please fill out the form";
            header('E:\wamp\www\PHP\main.php');
         } else {
             mysql_query("INSERT INTO students(`IDNUMBER`,`LNAME`,`FNAME`,`MNAME`,`GRADEYR`,`ADDRESS`)
                          VALUES (NULL, '$IDNUMBER', '$LNAME', '$FNAME', '$MNAME', '$GRADEYR', '$ADDRESS')") or die(mysql_error());

             echo "User has been added!";
             header('E:\wamp\www\PHP\main.php');

         }   ?>

ここに私のmain.phpがあります:

    <html xmlns="http://www.w3.org/1999/xhtml">

        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
            <title>Untitled Document</title>
        </head>

            <?php
                include 'E:\wamp\www\PHP\connection.php';
                $query = "SELECT * FROM students";
                $result = mysql_query($query);
                while($students = mysql_fetch_array($result)) {
                    echo "<h3>".$students['LNAME'] ."</H3>";
                }
            ?>
            <h1>Create A user</h1>
                <form action="create.php" method="post">
                    Idnumber:<input    type="text"   name="LName"       value="" />
                    LastName:<input    type="text"   name="LName"       value="" />
                    Firstname:<input   type="text"   name="FName"       value="" />
                    Middlename:<input  type="text"   name="MName"       value="" />
                    GradeOrYear:<input type="text"   name="GradeOrYear" value="" />
                    Address:<input     type="text"   name="Address"     value="" />
                    <br/>
                    <input             type="submit" name="Submit"      value="" />
                </form>
            <body>
            </body>
        </html>

そして私のconnection.php:

    <?php
        $dbhost = 'localhost';
        $dbuser= 'root';
        $dbpass= '';
        $dbname = 'koro';

        $conn =mysql_connect($dbhost, $dbuser, $dbpass);
        mysql_select_db($dbname);
    ?>

*ここで undefined をどこで定義すればよいですか?

4

5 に答える 5

5

Idnumber:<input type="text" name="LName" value="" />
これは名前を付けるべきではありませんIDNUMBERか?

「未定義のインデックス」警告は、実際には存在しないのに、配列内にインデックスが存在すると想定していることを示しているだけです。

このような場合に最初にすべきことは、配列インデックスが作成された場所 (この場合はフォーム) を見つけて、すべてが適切であることを確認することです。これらのエラーは通常、単なるタイプミスです。

于 2010-01-17T09:44:26.397 に答える
3
Idnumber:<input type="text" name="LName" value="" />
LastName:<input type="text" name="LName" value="" />
Firstname:<input type="text" name="FName" value="" />
Middlename:<input type="text" name="MName" value="" />
GradeOrYear:<input type="text" name="GradeOrYear" value="" />
Address:<input type="text" name="Address" value="" />
<br/>
   <input type="submit" name="Submit" value="" />

これは、php フォーム処理スクリプトに適合しません。これを試して:

Idnumber:<input type="text" name="IDNUMBER" value="" />
LastName:<input type="text" name="LNAME" value="" />
Firstname:<input type="text" name="FNAME" value="" />
Middlename:<input type="text" name="MNAME" value="" />
GradeOrYear:<input type="text" name="GRADEYR" value="" />
Address:<input type="text" name="ADDRESS" value="" />
<br/>
   <input type="submit" name="submit" value="submit" />

基本的に、 name="YXZ" パラメータを $_POST['YXZ'] 変数にマップする必要があります。

于 2010-01-17T09:47:27.523 に答える
2

コードを見てください。この行はいけませんか

Idnumber:<input type="text" name="LName" value="" />

のようなものになる

Idnumber:<input type="text" name="IDNUMBER" value="" />
于 2010-01-17T09:46:43.360 に答える
2

誰もが問題を指摘したので、このような場合はvar_dump($_POST)at the top を使用して配列をダンプして、create.php実際に何が入っているかを確認することをお勧めします。これを行うと、IDNUMBER がないことがわかります。

また、私はうるさいかもしれませんが、フォームの HTML で定義されていない場合、LNAME、FNAME などのすべてのインデックスを大文字にしました。言語がなくても済むかどうかに関係なく、一貫性を保つことが最善です。

于 2010-01-17T10:43:27.643 に答える
1

特定の配列に存在しないキーで配列から値を取得しようとすると、未定義のインデックス エラーが発生します。配列がある場合は、次のように言います

$array = array('key' => 'value', 'another_key' => 'another_value');

そしてあなたはやろうとします

print $array['yet_another_key'];

未定義のインデックスエラーが発生します。$array「yet_another_key」キーが配列に存在しないためです。

これで、このエラーが正確に何を意味するのかを理解する必要があります。また、エラー行番号があるため、存在しないキーを使用している配列を特定するのは難しくありません。そして、それを修正します。

于 2010-01-17T09:53:00.523 に答える