質問
私は再びこのエラーを持っています:
注意:未定義のインデックス: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
配列には存在しませんので。
だから今は、まさにこのエラー手段を理解しておく必要があり、存在しないキーを使用している配列を把握するのは難しいことするつもりはないですので、また、あなたは、エラーの行番号を持っています。そして、それを修正します。