奇怪的错误html表单

时间:2016-03-08 18:27:46

标签: html forms

我在HTML中使用代码表示

<div class="login-wrapper">
    <form>
        <div class="popup-header">

            <span class="text-semibold"><i class="fa fa-sign-in"></i> Logging in</span>

        </div>
        <div class="well">
            <div class="form-group has-feedback">
                <label>Username</label>
                <input type="text" name="user" class="form-control" placeholder="e.g. andre@mail.de">
                <i class="icon-users form-control-feedback"></i>
            </div>

            <div class="form-group has-feedback">
                <label>Password</label>
                <input type="password" name="password" class="form-control" placeholder="Password">
                <i class="icon-lock form-control-feedback"></i>
            </div>

            <div class="form-group has-feedback">
                <label>reCaptcha</label>
                <div class="g-recaptcha" data-sitekey="..."></div>
            </div>
            <div class="form-actions text-right">
                <input type="submit" id="loginbutton" name="loginbutton" value="Login" class="btn btn-primary">
            </div>
        </div>
    </form>
</div>  
<!-- /login wrapper -->

但是,当我按下提交按钮时,它只会在浏览器的地址栏中给我一个非常奇怪的网址:

  

http://localhost/?user=&password=&g-recaptcha-response=&loginbutton=Login

每当我填写字段时,都会将内容放入网址:

  

http://localhost/?user=peter%40griffin.com&password=somepass&g-recaptcha-response=&loginbutton=Login

按下按钮时应该运行的预期PHP代码甚至不会运行或加载,因为这个HTML东西显然搞砸了。我不知道我做错了什么。有什么建议吗?

2 个答案:

答案 0 :(得分:0)

为了让表单在其他地方提交,您需要设置表单元素action参数。

<form action="some_file.php">

或者,您可以获取查询字符串并将其直接附加到文件路径以测试脚本。

http://localhost/some_file.php?user=peter%40griffin.com&password=somepass&g-recaptcha-response=&loginbutton=Login

在some_file.php中,您将提取每个变量,如

$user = $_GET['user'];
$password = $_GET['password'];

答案 1 :(得分:0)

非常奇怪的网址 实际上是 GET 请求的结果。

参数由&amp; 分隔,因此您拥有:

  

用户=彼得%40griffin.com&安培;密码= somepass&安培; G-验证码 - 响应=

“用户”是您输入的名称属性,“peter%40griffin.com”是

首先,您需要使用 action =“save.php”属性将表单发送到某个操作,例如使用 method =“POST”传递参数,因此用户无法看到URL中的值。

<form action="save.php" method="post">