PHP错误:未定义的索引:提交

时间:2013-01-19 14:26:23

标签: php

  

可能重复:
  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;

2 个答案:

答案 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
{
 ....
}