我一直在尝试解决这个问题,但它给了我同样的错误:
Notice: Undefined index: items in C:\xampp\htdocs\shop.php on line 9
Notice: Undefined index: body in C:\xampp\htdocs\shop.php on line 24
这是我的代码:
<form action="" method="post">
<input type="radio" name="items" value="fed" /> Fed<br />
<input type="radio" name="items" value="body" /> Body<Br>
<input type="submit" name="submit"><br>
</form>
<?php
if(isset($_POST['submit'])) {
$items = $_POST['items'];
if($items=="fed") {
echo "You choose feds";
die();
}
else
echo "<Form action='' method='POST'>
<select name='body'>
<option value='head'>Head</option>
</select>
<input type='submit' name='submit' value='submit' /><br />
</form>";
if(isset($_POST['submit'])) {
$body = $_POST['body'];
$connect = mysql_connect("localhost","root","")or die(mysql_error());
mysql_select_db("feds",$connect)or die(mysql_error());
$merchandise = mysql_query("SELECT * FROM merchandise WHERE body_part='$body' ")or die(mysql_error());
while($row = mysql_fetch_array($merchandise)) {
echo $row['item'];
echo "<bR>";
}
}
}
?>
最佳答案
错误消息表明您正在访问不存在的数组项!
但一般来说,您应该检查这些变量是否存在(即使您确定表单已发送):
$items = isset($_POST['items']) ? $_POST['items'] : outputError('...');
请修复您的 SQL 注入(inject)安全漏洞!!
$body = mysql_real_escape_string( $_POST['body'] );
也请考虑升级到MySQLi或PDO!关于这些主题有很多很好的资源。
关于php - 访问 $_POST 时出现未定义索引错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8300068/