HTML表单(使用PHP)要求我按两次提交按钮才能转到操作表单

时间:2017-02-23 13:21:08

标签: php forms

我是PHP新手所以请耐心等待。
我正在尝试根据给定的输入来决定行动 下面给出了我为这个简单任务编写的代码

<html>
    <head>
        <meta charset="UTF-8">
        <title>SAMPLE</title>
    </head>
    <body>
        <form method="POST" action="<?php
        if(isset($_POST['submit_button']))
        {
            if($_POST['name_field'] === "USERA")
            {
               echo "output.php";
            }
            else
            {
               echo "wronguser.php";
            }
        }
        ?>">
        Username : <input type="text" name="name_field" value="<?php
        if(!isset($_POST['name_field']) || $_POST['name_field']=== "")
        {
        echo "Enter Something" ;
        }
        ?>">
        <input type="submit" name="submit_button" value="SUBMIT BUTTON !">
    </form>
    </body>
</html>

如果输入的任何其他用户名的用户是“USERA”或“wrongouput.php”,我希望表单重定向到“output.php”。虽然它按预期工作,但只有当我第二次按下提交按钮时,我才会被重定向到正确的页面。

这是为什么?

此外,重新加载页面似乎没有带回原始页面,文本字段包含默认的“输入内容”文本。我必须从IDE再次运行它。

为什么会这样?

2 个答案:

答案 0 :(得分:1)

您可以尝试不同的方法

---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:
    - map: ~/Code
      to: /home/vagrant/Code

sites:
    - map: homestead.app
      to: /home/vagrant/Code/Laravel/public

databases:
    - homestead

# blackfire:
#     - id: foo
#       token: bar
#       client-id: foo
#       client-token: bar

# ports:
#     - send: 50000
#       to: 5000
#     - send: 7777
#       to: 777
#       protocol: udp

答案 1 :(得分:0)

将代码移出操作,为表单自行执行操作,使其自行触发,然后将PHP放在文件顶部的所有HTML上方。这将阻止双击问题。

<?php
        if(isset($_POST['submit_button']))
        {
            if($_POST['name_field'] === "USERA")
            {
               echo "output.php";
            }
            else
            {
               echo "wronguser.php";
            }
        }
        ?>">
        Username : <input type="text" name="name_field" value="<?php
        if(!isset($_POST['name_field']) || $_POST['name_field']=== "")
        {
        echo "Enter Something" ;
        }

 ?>
<html>
    <head>
        <meta charset="UTF-8">
        <title>SAMPLE</title>
    </head>
    <body>
    <form method='post' action="<?php $SERVER['PHPSELF']; ?>">
        <input type="submit" name="submit_button" value="SUBMIT BUTTON !">
    </form>
    </body>
</html>