【问题标题】:Undefined index: submit未定义索引:提交
【发布时间】:2014-03-03 04:05:48
【问题描述】:

我制作了这个简单的 php 来检查一个数字是正数还是负数。它有效,但我收到此通知:未定义索引:提交。

<?php
if (!$_POST["submit"])
    {
    ?>
    <body>
        <form action="<?=$_SERVER['PHP_SELF']?>" method="post">
            Enter a number: <input name="number" size="2">
            <input type="submit" name="submit" value="Go">
        </form>
    </body>
    <?php
}
else
{
    $number = $_POST['number'];
    if ($number > 0)
    {
        echo 'You entered a positive number';
    }
    elseif ($number < 0)
    {
        echo 'You entered a negative number';
    }
    else
    {
        echo 'You entered 0';
    }
}
?>

我是 php 新手,所以如果你愿意的话:)

【问题讨论】:

  • 首次加载页面时,$_POST 值中将没有值。 $_POST 只会在您提交表单时填充。

标签: php forms indexing submit undefined


【解决方案1】:

您应该将第二行替换为:

if (!isset($_POST['submit'])) {

【讨论】:

    【解决方案2】:

    您的$_POST["submit"] 似乎为空。由于 !并输出 true,这样你的程序就可以工作了。

    但是您永远不会发布任何名称为 submit 的值,它是按钮的名称。我想你想检查$_POST["number"] 是否为空。

    if (!empty($_POST["number"])) {
        //your stuff here.
    

    【讨论】:

      【解决方案3】:

      改变你的条件

      if (!isset($_POST["submit"]))
      

      【讨论】:

        【解决方案4】:

        替换

        if (!$_POST["submit"])
        

        if (isset($_GET['submit']))
        

        【讨论】:

          【解决方案5】:

          替换第二行:

          if (!$_POST['submit'])
          

          与:

          if (!isset($_POST['submit']))
          

          【讨论】:

          猜你喜欢
          • 2015-09-29
          • 2014-02-15
          • 2015-01-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多