【问题标题】:Calling PHP code within same php file在同一个 php 文件中调用 PHP 代码
【发布时间】:2014-08-03 10:57:22
【问题描述】:

我想创建一个表单,在提交时在同一个 php 文件中调用 PHP 代码。

阅读本文,Why use $_SERVER['PHP_SELF'] instead of "",看来我可以使用 action="" 而不是 $_SERVER['PHP_SELF']; 来做到这一点。

如果是这样,当我点击提交时,为什么文件顶部的这段 PHP 代码没有执行?

if(isset($_POST['submit'])) {
    echo "submitted";
}

应该在页面上显示submitted

在 Google DevTools 中,network 选项卡不会显示文件正在被调用,而只是显示页面已重新加载。

表格sn-p:

<div id="contactForm">  
        <form role="form" action="" method='post' accept-charset='UTF-8'>
               <div class="row">
                   <div class="form-group col-xs-12 floating-label-form-group">
                         <input class="form-control" type="text" name="name" placeholder="Name">
                   </div>
               </div>
                <div class="row">
                    <div class="form-group col-xs-12">
                         <button type="submit" class="btn btn-lg btn-success">Send</button>
                    </div>
                </div>
         </form>

【问题讨论】:

  • 显示提交的表单
  • 嘿嘿。你确定 $_POST['Submit'] 设置了吗?尝试 var_dump($_POST['Submit']).. 或检查您是否在 HTML 代码中使用了小写的 'submit'。

标签: php html


【解决方案1】:

它说 type="submit",而不是 name="submit"..

【讨论】:

  • 啊,这解决了它。为什么不识别类型?
  • 好吧,类型告诉浏览器它是做什么用的,而(变量)名称被 PHP 使用(与值结合)。因此,在这种情况下,请使用这两个属性.. 或从其他答案之一中选择一种方法。
【解决方案2】:

因为您的表单中没有名为“submit”的变量。

如果你只是想测试表单是否已经提交,你可以使用这个:

if($_POST) {
    // ...
}

【讨论】:

    【解决方案3】:

    您需要使用if(isset($_POST))(否则您会收到PHP 通知)并尝试将您的操作从"" 更改为"#",同时将name="submit" 属性添加到您的提交按钮。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-26
      • 2014-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多