質問

私は再びこのエラーを持っています:

  

注意:未定義のインデックス:EでIDNUMBER:\ WAMP \ WWW \ PHP \ create.phpライン上の5

ここに私のコードは次のとおりです。

    <?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);
    ?>
*どこで私はここで未定義定義することが出来るのですか?

役に立ちましたか?

解決

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" />

基本的には、名前=あなたの$ _POST [ 'YXZ'] varsは。

に "YXZ" のparamsをマップする必要があります

他のヒント

Idnumber:<input type="text" name="LName" value="" />
このIDNUMBER命名されることになっていませんか?

は単なる警告「未定義のインデックスは、」あなたは配列のインデックスを想定していることを示していますが存在し、実際にはそうでないときます。

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

あなたのコードを見てみましょう。 べきではありません。このライン

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

タグのようなものに
Idnumber:<input type="text" name="IDNUMBER" value="" />

誰もが問題を指摘しているので、私はちょうどあなたがそれで実際に何があるか確認するためにvar_dump($_POST)の上部にcreate.phpを使用して、このようなケースでは、配列をダンプすべきであることを示唆しているでしょう。あなたがそれを行う場合にはIDNUMBERがないことがわかります。

また、私はあまりにもうるさいかもしれないが、あなたは彼らがのようなフォームのHTMLでそのように定義されていないときなどLNAME、FNAME、のようなすべてのインデックスを大文字に。それは言語は、あなたがそれなしで逃げることができた場合に関係なく一貫しているのがベストです。

あなたがその特定の配列に存在しないキーによって配列から値を取得しようとすると、

未定義のインデックスエラーが発生します。あなたは配列を持っている場合は、

と言います
$array = array('key' => 'value', 'another_key' => 'another_value');

あなたがやろう

print $array['yet_another_key'];

あなたは未定義のインデックスエラーを取得しようとしています。 「yet_another_key」キーが$array配列には存在しませんので。

だから今は、まさにこのエラー手段を理解しておく必要があり、存在しないキーを使用している配列を把握するのは難しいことするつもりはないですので、また、あなたは、エラーの行番号を持っています。そして、それを修正します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top