未使用HTML5发布的输入元素

a c*_*der 1 forms post html5

我正在研究测试HTML5登录表单并将表单设置如下:

<form id="login" method="POST" action="<?php echo $_SERVER['PHP_SELF'] ?>">
    <h1>Log In</h1>
    <fieldset id="inputs">
        <input id="username" type="text" placeholder="Username" autofocus required>   
        <input id="password" type="password" placeholder="Password" required>
    </fieldset>
    <fieldset id="actions">
        <input type="submit" id="submit" name="submit_data" value="Log in">
    </fieldset>
</form>
Run Code Online (Sandbox Code Playgroud)

单击"提交"时,表单将回发到同一页面.当我打印POSTed元素数组时,我只看到一个'submit_data'."用户名"和"密码"未通过.

我哪里错了?

mad*_*end 5

您没有为输入指定名称,例如

<form id="login" method="POST" action="<?php echo $_SERVER['PHP_SELF'] ?>">
    <h1>Log In</h1>
    <fieldset id="inputs">
        <input id="username" type="text" name="username" placeholder="Username" autofocus required>   
        <input id="password" name="password" type="password" placeholder="Password" required>
    </fieldset>
    <fieldset id="actions">
        <input type="submit" id="submit" name="submit_data" value="Log in">
    </fieldset>
</form>
Run Code Online (Sandbox Code Playgroud)

这可能会解决这个问题.