可能重复:
PHP: “Notice: Undefined variable” and “Notice: Undefined index”
在此单击提交按钮后,它将从数据库中检索数据。但是,一旦我进入此页面,未定义索引:提交会在我点击提交按钮之前显示。
<div id="title">
<form method="get" action="<?php echo $_SERVER['PHP_SELF']?>">
<h3>Select your product and click submit</h3><br />
<select name="prod">
<option value="default">Select your product</option>
<option value="os">Operating Systems</option>
<option value="mobile">Smart Mobiles</option>
<option value="mobile">Computers</option>
<option value="shirt">Shirts</option>
</select><br /><br />
<input type="submit" value="Submit" name="submit"/>
</form>
php代码是:
<?php
$submitcheck=$_GET['submit'];
echo $submitcheck;
if (!isset($submitcheck)) {
echo 'Pls select and submit';
} else {
....
}
&GT;
答案 0 :(得分:6)
您需要将PHP更改为:
if (isset($_GET['submit']))
{
// Form has been submitted
}
else
{
// Form has not been submitted
}
目前,您正在为$submitcheck
分配一个可能不存在的值,然后检查它是否已设置。你需要反过来做:检查$_GET['submit']
已设置,然后将其分配给变量。
答案 1 :(得分:1)
这是因为您的代码是从上到下执行的,而在顶部您正在使用$_GET['submit']
,然后此密钥不存在。你可以这样做:
if(array_key_exists('submit', $_GET)){
echo $_GET['submit'];
}
甚至
if (!isset($_GET['submit']))
{
echo 'Pls select and submit';
}
else
{
....
}