0

我有一个非常基本的表单,其中包含两个字段(登录表单)。变量已发布到脚本(如下所示),但是我看不到任何已发布的变量。我不知道我做错了什么,有人可以帮助我吗?

<?php
    add_page_content();
    function add_page_content() {
    $error = true;
    echo '      <div id="page_content">
        <h3>Login</h3>
        <div id="login_form">
            '
        . ($error ? '<p class="text_red">Wrong username and/or password.</p>' : '') . '
            <form action="login.php" method="post" enctype="text/plain">
                <div id="login_fields">
                    <div>
                        <label>Username:</label>
                        <input id="admin_user_input" type="text" name="username" ' . ($error ? ('value="' . htmlspecialchars($_POST["username"]) . '"') : '') . '>
                    </div>
                    <div>
                        <label>Password:</label>
                        <input id="admin_pass_input" type="password" name="password">
                    </div>
                </div>
                <input id="login_submit_button" type="submit" name="submit" value="Go">
            </form>
            ' . 'username: ' . $_POST["username"] . '
        </div>
    </div>';
}
?>

编辑:操作,我不知道发生了什么,我失去了一半的帖子......在这里我重新输入它:

如果我使用 httpfox 插件跟踪请求的帖子变量,这就是我得到的:-假设我将“用户”填写到用户名字段中,“传递”到密码。生的:

username=user
password=pass
submit=Go

漂亮的:

Parameter         Value
username          userpassword

非常感谢您的反馈!

4

2 回答 2

2

你的问题是这样的:

enctype="text/plain"

PHP 不会解析纯文本提交。将其取出,因此使用默认值 ( application/x-www-form-urlencoded) 代替。

使用 text/plain 格式的有效负载旨在供人类阅读。它们不能被计算机可靠地解释,因为格式不明确(例如,无法区分值中的文字换行符和值末尾的换行符)。

http://www.w3.org/TR/html5/forms.html#text/plain-encoding-algorithm

于 2013-09-13T22:42:42.063 回答
0

删除 enctype (默认为 application/x-www-form-urlencoded )

于 2013-09-13T23:36:09.960 回答