This question already has answers here:
“Notice: Undefined variable”, “Notice: Undefined index”, and “Notice: Undefined offset” using PHP
(28个答案)
3年前关闭。
我最近开始从w3schools.com上自己为大学项目学习PHP。当使用PHP和MySQL Forms时,一开始我成功地将输入保存到数据库中,但是突然间我凝视着收到以下错误-我已经在互联网上搜索了解决方案,但一无所知。
(!)注意:未定义的索引:第64行的C:\ wamp \ www \ alpha_airlines \ admin.php中的flight_id
(!)注意:未定义的索引:第65行的C:\ wamp \ www \ alpha_airlines \ admin.php中的flight_time
每个输入都相同。
这是我的代码:
(28个答案)
3年前关闭。
我最近开始从w3schools.com上自己为大学项目学习PHP。当使用PHP和MySQL Forms时,一开始我成功地将输入保存到数据库中,但是突然间我凝视着收到以下错误-我已经在互联网上搜索了解决方案,但一无所知。
(!)注意:未定义的索引:第64行的C:\ wamp \ www \ alpha_airlines \ admin.php中的flight_id
(!)注意:未定义的索引:第65行的C:\ wamp \ www \ alpha_airlines \ admin.php中的flight_time
每个输入都相同。
这是我的代码:
//HTML FORM
<table align="center">
<tr><td colspan="2" align="center"><h2>Add a Flight</h2></td></tr>
<form name="add-flight" method="post">
<tr>
<td>Flight ID: </td><td><input type="text" class="textbox" name="flight_id" maxlength="7"></td>
</tr>
<tr>
<td>Flight Time: </td><td><input type="time" class="textbox" name="flight_time"> </td>
</tr>
<tr>
<td>Flight Date: </td><td><input type="date" class="textbox" name="flight_date"> </td>
</tr>
<tr>
<td>Flight From: </td><td><input type="number" class="textbox" name="flight_from" maxlength="2"> </td>
</tr>
<tr>
<td>Flight To: </td><td><input type="number" class="textbox" name="flight_to" maxlength="2"> </td>
</tr>
<tr>
<td>Airplane ID: </td><td><input type="text" class="textbox" name="plane_id" maxlength="5"> </td>
</tr>
<tr>
<td colspan="2" align="right"><input type="submit" value="Add Flight" class="button" name="submit_flight"> </td>
</tr>
</form>
</table>
//PHP CODE
<?php
$flightid = $_POST['flight_id'];
$flighttime = $_POST['flight_time'];
$flightdate = $_POST['flight_date'];
$flightfrom = $_POST['flight_from'];
$flightto = $_POST['flight_to'];
$planeid = $_POST['plane_id'];
$sql = "INSERT INTO flight (Flight_ID, Flight_Time, Flight_date, Flight_From, Flight_To, Airplane_ID)
VALUES ('$flightid', '$flighttime', '$flightdate' , '$flightfrom' , '$flightto' , '$planeid')";
if (mysqli_query($conn, $sql)) {
echo "New flight created successfully";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
?>
最佳答案
您必须检查$_POST
是否为空。
第一次加载的页面$_POST
为空,并且单击Add Flight
,$_POST
设置为flight_id
,flight_time
,....的形式提交表单时。
像这样
if(!empty( $_POST['flight_id'])){
$flightid = $_POST['flight_id'];
$flighttime = $_POST['flight_time'];
$flightdate = $_POST['flight_date'];
$flightfrom = $_POST['flight_from'];
$flightto = $_POST['flight_to'];
$planeid = $_POST['plane_id'];
$sql = "INSERT INTO flight (Flight_ID, Flight_Time, Flight_date, Flight_From, Flight_To, Airplane_ID)
VALUES ('$flightid', '$flighttime', '$flightdate' , '$flightfrom' , '$flightto' , '$planeid')";
if (mysqli_query($conn, $sql)) {
echo "New flight created successfully";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
}