【问题标题】:if(isset($_POST['submit'])) not workingif(isset($_POST['submit'])) 不工作
【发布时间】:2014-07-04 16:09:56
【问题描述】:

我知道有这方面的案例,但是我尝试了他们的方法,但它对我不起作用。

这里是 isset 的代码: 我尝试将此语句放在 <head> 标记之前和 <body> 标记内,但不认为它有什么不同。 此代码与提交按钮位于同一 php 文件中。

<?php if(isset($_POST['action'])) {
    echo "testing";
    exit();
}?>

这是表单中的表单和提交按钮

<form name="createCaseForm" method = "post" action = "<?php echo url_mgt::getActionURL(); ?>" id="case-form" novalidate="novalidate">
    ...
    <td colspan="1"><button style="float:right;" name="action" type="submit" value="create_case_submit">Submit</button></td>
    ...
</form>

我不确定使用&lt;button&gt; 代替&lt;input&gt; 是否会有所作为。我也做了 if(count($_POST) > 0) 但没有用。我不确定我做错了什么。当我运行该文件时,它不会回显“测试”,而是直接进入下一页。如果这只是一件小事,我深表歉意,但我尝试了论坛上发布的方法,但似乎没有任何效果。

我试过这样做:

if(isset($_POST['action']) == 0) {
  echo "Testing";
} else {
    echo "Testing2";
}

它在页面加载时显示测试,但是当我单击提交按钮时,我希望看到 testing2 正在打印。我可以说单击提交按钮后页面不会重新加载两次吗?所以没有办法检查提交按钮是否被张贴?

【问题讨论】:

    标签: php forms button post submit


    【解决方案1】:

    你需要一个名为action的表单域

    <input type="text" name="action"/>
    

    另外,请确保 url_mgt::getActionURL() 正在输出正确的 URL 以提交到

    【讨论】:

    • 是的,getActionURL() 正在正确重定向我的页面。表单字段命名为 action 是什么意思? name="action" 在&lt;button&gt; 标记的提交按钮中声明。是不是因为在同一个页面上所以不起作用?
    • 您是否使用 Firebug 或 Chrome 检查器之类的工具查看过实际的 POST 数据?是否正在提交按钮元素?
    • 在表单重定向到 (action.php) 的另一个文件中,我可以这样做 $action = $_POST['action'];并且价值有效。但是,我无法在同一页面中执行 isset($_post) 内容。以上代码都驻留在同一个 php 文件 (create_case.php) 中。因此,我不确定 isset() 函数是否不起作用,因为它在同一个文件中,或者根本不重要。
    • 没关系。当您发布表单时,这是一个全新的调用。
    【解决方案2】:

    我在提交表单时遇到了与上述相同的问题,if(isset($_POST['submit'])) 不起作用。将名称设置为 action 对我不起作用。解决方案是将 submit 分配给表单输入元素的 name 字段。在这里,我展示了一个在 Firefox 中测试的 MCVE。

    Kf

    index.html

    <html>
      <body>
        <form action="learnphp.php" method="post">
    
          <table border="0">
    
        <tr>
          <td>Name</td>
          <td align="center"><input type="text" name="username" size="30"/></td>
        </tr>   
    
        <tr>
          <td>City</td>
          <td align="center"><input type="text" name="cityaddress" size="30"/></td>
        </tr>
    
        <tr>
          <td><input id="radio1" type="radio"  name="selector"
                 value="op1" /> </td>
          <td><input id="radio2" type="radio"  name="selector"
                 value="op2" /> </td>         
        </tr>
    
        <tr>
          <td colspan="2" align="center"><input type="submit"
          name="submit" value="SubmiT"/></td>
        </tr>
    
          </table>
    
        </form>
      </body>
    </html>
    

    learnphp.php

    <html>
      <head>
        <title>Information Gathered</title>
      </head>
      <body>
    
        <?php
           echo "<p>Data processed \"NOW\"</p>";      
    
           echo "<p>Let's observe: </p>";
    
           if(isset($_POST['submit'])){
               echo "submit set<br>";
               echo "Submit value=" . $_POST['submit'] . "<br>";
           }
           else echo "ERROR submit not set<br>";
    
           if(isset($_POST['selector'])){
               echo "Selecter set<br>";
               echo "Radial selection value=" . $_POST['selector'] . "<br>";
           }
           else echo "ERROR Selector not set<br>";
    
        echo "</br>";
        ?>
      </body>
    </html>
    

    输出:

    “现在”处理的数据

    让我们观察一下:
    提交集
    提交值=提交
    选择器集
    径向选择值=op2

    【讨论】:

      猜你喜欢
      • 2015-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多