我的网页出现以下 5 个错误:
Notice: Undefined index: town in C:\xampp\htdocs\dispatch1.php on line 51
Notice: Undefined index: location in C:\xampp\htdocs\dispatch1.php on line 52
Notice: Undefined index: incident_type in C:\xampp\htdocs\dispatch1.php on line 53
Notice: Undefined index: time_date in C:\xampp\htdocs\dispatch1.php on line 54
Notice: Undefined index: admin in C:\xampp\htdocs\dispatch1.php on line 55
这是我的输出表的代码,它从数据库中获取数据(它确实显示了数据库中的数据):
<?php include("manage_post.php"); ?>
<!DOCTYPE html>
<html lang='en'>
<head>
<meta http-equiv="refresh" content="2" >
</head>
<body>
<div align="center" class="CSSTableGenerator" height="100%">
<form action="dispatch1.php" method="get" id="dispatch">
<table width="968" height="248" border="1" align="center" cellpadding="10" cellspacing="0" rules="rows" id="incidents" style="color:#333333;border-collapse:collapse;text-align:left;">
<tr style="color:White;background-color:#5D7B9D;font-weight:bold;font-style:italic;">
<th scope="col">TOWN</th>
<th scope="col">LOCATION</th>
<th scope="col">INCIDENT TYPE</th>
<th scope="col">TIME/DATE</th>
<th scope="col">ADMIN</th>
</tr>
<tr style="color:#333333;background-color:#F7F6F3;font-weight:bold;">
<?php
$town = $_POST['town'];
$location = $_POST['location'];
$incident_type= $_POST['incident_type'];
$time_date= $_POST['time_date'];
$admin = $_POST['admin'];
$db = mysqli_connect('localhost','root','') or die("Database error");
mysqli_select_db($db, 'mydatabase');
$result= mysqli_query($db, "select * from cad");
while($row = mysqli_fetch_array($result))
{
echo "<td>" .$row['town'] ."</td>";
echo "<td>" .$row['location'] ."</td>";
echo "<td>" .$row['incident_type'] ."</td>";
echo "<td>" .$row['time_date'] ."</td>";
echo "<td>" .$row['admin'] ."</td>";
}
?>
</tr>
</table>
</form>
</body>
</html>
然后,这是我的“manage_post.php”页面,它将数据从表单发布到数据库:
<?php
if( $_POST )
{
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("mydatabase", $con);
$town = $_POST['town'];
$location = $_POST['location'];
$incident_type = $_POST['incident_type'];
$time_date = $_POST['time_date'];
$admin = $_POST['admin'];
$town = mysql_real_escape_string($town);
$location = mysql_real_escape_string($location);
$incident_type = mysql_real_escape_string($incident_type);
$time_date = mysql_real_escape_string($time_date);
$admin = mysql_real_escape_string($admin);
$query = "
INSERT INTO `mydatabase`.`cad` (`town`, `location`, `incident_type`, `time_date`, `admin`) VALUES ('$town', '$location', '$incident_type', '$time_date', '$admin');";
mysql_query($query);
mysql_close($con);
}
?>
我试图检查它并弄清楚它有什么问题,但就是找不到。如果您需要表格代码,请告诉我。我的 PHP 代码的另一个奇怪问题是,表格不是垂直的,而是水平的,并且一直越过屏幕。 Here is a picture of it.然后我必须水平滚动才能查看所有内容。
最佳答案
在您显示的第一个文件中,您正在尝试访问 POST 值:
$town = $_POST['town'];
$location = $_POST['location'];
$incident_type= $_POST['incident_type'];
$time_date= $_POST['time_date'];
$admin = $_POST['admin'];
但是还没有发布任何内容。您仍在显示 将要 发布的表单。显示表单如何依赖于已经提交的相同表单?
为了有条件地检查值是否已发布,您可以在第二个文件中执行相同的操作:
if( $_POST )
{
// use the POST values
}
可选地,您可以有条件地检查每个单独的值:
if( isset($_POST['town']) )
{
// use the town value
}
if( isset($_POST['location']) )
{
// use the location value
}
// etc.
至于没有值时要显示什么,那是你的事。
关于php - 为什么我得到 “undefined index” ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27745367/