未定义的索引:第9行C:wampwww alphsearch.php中的initial.


Undefined index: initial in C:wampwww alphsearch.php on line 9...

下面是我在php中搜索的代码。我在运行这个程序时遇到问题。所以请帮帮我?

<html>
<body>
<?php
mysql_connect("localhost","root",""); 
mysql_select_db("login");

$initial = mysql_real_escape_string($_POST['initial']);
$find_videos = mysql_query("SELECT * FROM `sigup` WHERE `initial` LIKE '%initial%'");
while($row = mysql_fetch_assoc($find_videos))
{
$initial = $row['initial'];
echo "$initial<br/ >";
}
?>
</body>
</html>

您的问题在这一行:

$initial = mysql_real_escape_string($_POST['initial']);

基本上,只要POST变量initial不存在,就会导致该问题。当POST变量initial不存在时,$_POST数组中将不存在索引initial

在尝试使用POST或GET变量之前,您应该始终检查它是否存在

if(isset($_POST['initial'])){
    //initial exists as a POST variable
} else{
    //initial does not exist as a POST variable
}

当然,你也可以用三元形式:

$initial = isset($_POST['initial']) ? mysql_real_escape_string($_POST['initial']) : false;
if($initial !== false){
    //Good to go
}

POST变量在您认为应该存在的情况下不存在的一些原因:

  1. 表单元素名称与您试图访问的POST变量不匹配。例如:您的字段名为name,但您正试图访问POST变量names
  2. 用户直接访问页面,而不是通过表单访问