【问题标题】:Checking if form submitted when one form calls another当一个表单调用另一个表单时检查表单是否提交
【发布时间】:2015-02-12 05:56:50
【问题描述】:

我有一个带有表单的页面提交到带有自己的表单的第二个页面。

在第二页,

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

总是返回 true 并且 if 条件执行——我不确定它是否是因为它是从第一个表单本身调用的——但通常我会这样做来检查表单是否已提交,并且它按预期工作。即,一旦页面/表单打开,它就会执行条件内的代码,而显然它不应该这样做。

第二个表单提交时我需要能够检查它吗?

它只是一个带有自己按钮的标准短格式

<input type='submit' value='GO!'>

它来自第一个带有自己按钮的表单

<input type='submit' value='Delete'>

【问题讨论】:

  • 第二种形式是否对自身起作用?或者它是否对另一个文件起作用。即使将操作设置为自身,您也可以为第二个表单添加隐藏字段并检查是否已设置,您将知道它是否已提交
  • 贴出整个代码。
  • 是的,它会自行操作 - 是的,我可以添加另一个隐藏字段,但我不确定为什么需要这样做
  • 因为如果所有操作都在一个地方进行,您必须区分这两种形式。或者您可以将提交按钮命名为其他名称

标签: php forms


【解决方案1】:

你可以试试这个,

<form method="post" action="">
<input type="submit" name="submit" value="Go!">
</form>

php代码:

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

 }

【讨论】:

    【解决方案2】:

    请注意,我通过检查提交按钮的 name 添加名称来解决此问题:

    <input type="submit" name="delete" value="Go!">
    

    然后检查两个

    if (($_SERVER['REQUEST_METHOD'] === 'POST') && (isset($_POST['delete']))){
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多