PHP中未定义的索引

PHP中未定义的索引,php,dreamweaver,wampserver,Php,Dreamweaver,Wampserver,我又犯了这个错误: 注意:第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'];

我又犯了这个错误:

注意:第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');

         }   ?>

无标题文件
创建用户
ID号码:
姓氏:
名字:
中间名:
等级耳朵:
地址:

和my connection.php:

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

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

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

Idnumber:

这不是应该被命名为
IDNUMBER

“Undefined index”(未定义索引)警告只是告诉您假设数组中存在一个索引,而实际上它不存在

在这些情况下,您应该做的第一件事是找出所述数组索引的创建位置(本例中为表单),并确保一切正常。这些错误通常只是打字错误。

看看你的代码。 这条线不应该吗

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

Idnumber:<input type="text" name="IDNUMBER" value="" />
Idnumber:
Idnumber:
姓氏:
名字:
中间名:
等级耳朵:
地址:

这不适合您的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" />
Idnumber:
姓氏:
名字:
中间名:
等级耳朵:
地址:


基本上,您需要将name=“YXZ”参数映射到$\u POST['YXZ']变量。

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

$array = array('key' => 'value', 'another_key' => 'another_value');
你试着去做

print $array['yet_another_key'];
您将得到未定义的索引错误。因为
$array
数组中不存在'yet_another_key'键


所以现在您应该了解这个错误的确切含义,并且您有一个错误行号,所以不难确定哪个数组使用的是不存在的键。既然每个人都指出了这个问题,我建议您在这种情况下使用
var\u dump($\u POST)
create.php
的顶部转储数组,看看里面到底有什么。如果你这样做,你会发现没有IDNUMBER


另外,我可能太挑剔了,但是您将所有索引(如LNAME、FNAME等)都大写,因为它们在表单的HTML中没有这样定义。最好保持一致性,不管语言是否允许您不使用它。

因此,不是您的个人调试器!好吧,这比期望我们“给我发送代码”要好。你可能想看看这个:通知与错误不同。是的,第一个输入字段有重复的名称“LName”。没有名称为IDNUMBER的字段。
$array = array('key' => 'value', 'another_key' => 'another_value');
print $array['yet_another_key'];