检查是否已收到邮寄请求

时间:2014-05-20 09:53:40

标签: php html forms button http-post

我已经创建了几个选项的html表单(在MyTestFile.php文件中),我想要做的是检查是否已经收回了帖子请求。或者换句话说,当用户从我的组合框中选择一些东西并按下按钮时,去#34; Go"然后它转到同一页面并发送选择的大小值并回显大小,然后在设置大小时不再显示表单。所以这是我的表单代码,它并没有真正起作用:

if (isset($_POST('submit'))) {
    ?>
    <html>
    <h2>Select size:</h2>

    <form action="MyTestFile.php" method="POST">
        <div>
            <select name="SIZE">
                <option value="big">big</option>
                <option value="medium">medium</option>
                <option value="small">small</option>
            </select>
            <input type="submit" value="Go">
    </form>
    </html>
<?php
} else {
    echo $_POST('submit');
//and do some stuff here

}

主要想法:检查是否已收到有大小的帖子请求,如果没有 - 显示表单,用户可以选择大小。

3 个答案:

答案 0 :(得分:2)

$_POST是一个数组,因此您必须使用方括号来访问元素,而不是父级。所以改变这个:

if (isset($_POST['submit'])) {
//              ^        ^ square breackets not ()

其次,您的提交按钮没有名称,因此您的isset()检查将永远不会成立。给它起个名字:

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

或者在isset检查中使用SIZE选择:

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

最后,您的isset检查需要撤消,以便在不存在帖子值时显示表单:

if (!isset($_POST['SIZE'])) {
//  ^ not operator to reverse the check

答案 1 :(得分:0)

我可以看到你在这里尝试过:

只需在isset之前添加感叹号,在提交按钮中添加名称,并用方括号替换这些括号。

  if (!isset($_POST['submit']))
               {
                     ?>
                       <html>
                           <h2>Select size:</h2>          
                            <form action="MyTestFile.php" method="POST"><div>
                                <select name="SIZE">
                                 <option value="big">big</option>
                                  <option value="medium">medium</option>
                                  <option value="small">small</option>
                                </select>                               
                                <input type="submit" name="submit" value="Go">
                            </form>
                       </html>
               <?php
               }
               else 
               {
                echo $_POST['size'];
//and do some stuff here

           }

答案 2 :(得分:0)

[方法中使用(不要使用$_POST。因为$_POST是数组所以使用方括号。在提交按钮中使用相同的submit作为名称。

$_POST['submit']代替$_POST('submit')

并在!条件中添加if(未设置),请使用下面的代码,

if(!isset($_POST['submit'])){
  // Your Form Code
}
else{
  print_r($_POST);
}