当密码输入错误时,许多具有登录名的网站如何将用户名字段保留在用户名字段中。 表单的动作(它在index.php上)是另一个php文件,如果密码不正确,则使用Header()返回索引并使用GET将错误传递给它。我可以使用GET将用户名传递回表单,但这看起来很乱,而且我注意到像SMF论坛这样的网站有用户名留在用户名字段中,没有乱七八糟的URL。当密码输入错误时,请在用户名字段中输入用户名字段
回答
您可以使用会话。
例如,当一个帖子是不正确的(这会去的文件处理您的职位要求):
$_SESSION['username'] = $_POST['username'];
那么你的登录页面上:
<input type="text" name="username" value="<?php echo @$_SESSION['username']; ?>" />
制作确定你开始会话虽然:http://php.net/session_start
作为一般规则,我不建议使用会话来达到这种目的:当用户打开多个选项卡时,最终会导致网站中断。 – 2010-04-12 10:08:01
会话通过选项卡/窗口进行传输。我同意,如果表单发布给自己,处理表单更容易,但情况并非总是如此。如果验证失败,您将如何在不同页面上传输用户数据? (当然,在数据被显示之后,你必须小心地清空请求之间的会话数据等) – 2010-04-12 10:58:08
我想不出当前上下文中有什么问题。我警告不要使用会话作为表单的一般替代(在预订网站等某些领域非常流行的技术)的策略。 – 2010-04-12 12:25:15
我通常会发现,在显示表单的同一脚本中处理表单数据比较容易,只有当我收集到正确的输入时才能将表单重定向到其他地方。
通过GET方法
header("Location: loginpage.php?username=".$_REQUEST['username']);
和表单页面u能访问它想:
<input type="text" name="username" value=<?php echo $_GET['username']?>
非常糟糕,因为您可能会接受XSS和SQL注入攻击。 – 2010-04-12 09:56:30
引用问题:“我可以使用GET将用户名传回表单,但这看起来很乱” – 2010-04-12 09:59:13
您将如何开放SQl注入,没有任何提交到数据库? – 2010-04-12 10:00:07
Simples!
<form action="loginpage.php" method="post">
<fieldset>
...
<input type="text" name="username" value="<?php if (isset($_POST['username'])) echo $_POST['username']; ?>" />
...
</fieldset>
</form>
其余的形式ommitted强调解决方案。
但我如何从login.php获取用户名到POST变量中? – 2010-04-12 10:01:04
@Jonathan这就是为什么我们把表单放在login.php – 2010-04-12 10:40:38
- 1. Drupal:用户名输入字段?
- 2. 当输入“密码”到密码字段时jQuery ajax错误
- 3. 密码或用户名输入两次,当用角度输入时输入
- 4. 在字段中输入时检查用户名?
- 5. 如何在此用户名字段中输入文字
- 6. CakePHP:请求用户在输入帐户时输入密码
- 7. 数字输入字段,禁止用户手动输入号码
- 8. 值输入密码字段输入值
- 9. 如何清除用户名字段时重置密码字段?
- 10. android用户名密码输入
- 11. 输入数据(用户名和密码)
- 12. @WithMockUser忽略用户名,密码字段?
- 13. AngularJS - 同时使用输入字段作为输入字段和输入字段
- 14. php表单的输入字段显示数据库的用户名和密码
- 15. 如何使输入字段同时输入数字和密码?
- 16. 插入在用户名字段
- 17. 根据用户输入在输入字段中显示数据
- 18. 当输入用户名和密码时,UWP崩溃
- 19. 从用户输入中识别名字
- 20. 段错误获取用户输入
- 21. firefox将密码填入用户名字段
- 22. Woocommerce自定义用户输入字段
- 23. Twitter用户名输入字段文本插件!
- 24. Selenium/Python - 无法输入文本到用户名字段
- 25. 当用户输入后状态更改时更改输入字段
- 26. 当用户开始输入时,使突出显示的输入字段'unhighlighted'
- 27. 输入字段部分密码掩码
- 28. 当用户完成更改时,Jquery输入字段
- 29. Git - 无法提交,请求输入用户名,但无法输入用户名
- 30. iPhone NSURLConnection会弹出输入用户名/密码的请求吗?
为什么php不允许你以这种方式使用$ _POST:$ _POST ['username'] =“Joe Blogs”;?这似乎很明显,并会让事情变得更容易。 – 2010-04-12 09:58:06
你能给出一个SMF论坛的代码/ URL的例子吗?我发现他们发布到可以随时访问表单值的同一个index.php页面。 – zaf 2010-04-12 13:22:46