-2

我再次遇到此错误:

注意:未定义索引:第 5 行 E:\wamp\www\PHP\create.php 中的 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);
    ?>

*我应该在哪里定义未定义的?

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)在顶部使用create.php以查看其中的实际内容。如果您这样做,您将看到没有 IDNUMBER。

Also, I might just be too picky but you uppercased all the indexes like LNAME, FNAME, etc. when they aren't defined as such in the form's HTML as such. It's best to be consistent regardless if the language lets you get away without it.

于 2010-01-17T10:43:27.643 回答
1

当您尝试通过该特定数组中不存在的键从数组中获取值时,会发生未定义的索引错误。如果你有数组,说

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

你试着去做

print $array['yet_another_key'];

你会得到未定义的索引错误。因为数组中不存在“yet_another_key”键$array

所以现在你应该明白这个错误到底意味着什么,而且你有一个错误行号,所以不难确定哪个数组正在使用不存在的键。并修复它。

于 2010-01-17T09:53:00.523 回答