【问题标题】:Submit button not hitting isset() call提交按钮未命中 isset() 调用
【发布时间】:2016-10-19 00:32:17
【问题描述】:

我有一个这样的 PHP 表单集

<?php if (isset($submitted)) {
$output = checkData(); 
if (!is_null($output))
{
    echo '<script type="text/javascript">alert("' . $output . '"); </script>';
}
else 
{
    createMeeting();
    echo '<script type="text/javascript">alert("You meeting has been created. All of the recipients should shortly receive an email"); </script>';
    header('Location: index.php');
}   
} else { ?>
<center>
<form method="POST">
...
<input type="submit" name="submitted" value="Create Meeting">
</form>
<?php 
} 
?>

当我通过 PHP 代码检查器 (codechecker website) 运行它时,不会返回任何错误。但是,当我单击提交按钮时,似乎永远不会执行 isset($submitted) 代码(我已经通过在代码的该部分添加一些 echo 语句对此进行了测试)。

如果我点击提交按钮,表单就会被清除,所以发生了一些事情。我已经放入了许多不同的操作,但代码仍然没有被命中。

【问题讨论】:

    标签: php html forms


    【解决方案1】:

    这个if (isset($submitted))...应该是if (isset($_POST['submitted']))...

    【讨论】:

    • 谢谢 - 明白了。现在唯一的问题是 $output = checkData();正在设置,所以标题条件正在运行,但是 JS 警报没有出现,所以我不确定那里发生了什么!
    • 现在与您发布的原始问题不同。我建议你为此打开一个新的。 :)
    【解决方案2】:

    您可以使用以下方式检查表单是否已提交:

    if ($_SERVER['REQUEST_METHOD'] == 'POST')
    

    或者检查表单的单个元素是否已提交,检查名称是否在 post 数组中,使用:

    if(isset($_POST['submitted']))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-01
      • 1970-01-01
      • 2013-01-17
      • 2022-01-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多