首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使浏览器在登录尝试失败时不提示保存密码?

问如何使浏览器在登录尝试失败时不提示保存密码?
EN

Stack Overflow用户
提问于 2011-07-11 09:45:59
回答 2查看 2.5K关注 0票数 11

我正在用PHP编写一个应用程序,它使用表单来检索用户名和密码输入。成功登录后,web浏览器将提示保存用户名和密码(使用Firefox、Safari和Chrome进行测试)。

但是,如果用户登录失败,浏览器仍将提示保存密码(这显然不是预期的行为)。如何向浏览器指示登录不成功且不应提示保存详细信息?

以下是登录页面的HTML:

代码语言:javascript
复制
<html>
  <head><title>Login</title></head>
<body>
  <style text="css">
    fieldset {
      padding: 10px;
      width: 250px;
      text-align: right;
    }
</style>
<form method="POST" action="checkLogin.php">
  <fieldset>
  <label for="user">Username: <input type="text" id="user" name="username" size="15" /></label><br />
  <label for="pass">Password: <input type="password" id="pass" name="password" size="15" /></label><br />
  <p><input type="submit" value="Login" /></p>
</fieldset>    
</form>
</body>
</html>

checkLogin.php脚本只是用DB检查登录信息以确保它是有效的,如果凭据不正确,则输出“登录尝试失败”。

有人能解释一下这个问题吗?我知道这是一个小问题,但我没有注意到我的浏览器提供保存其他网站登录失败的密码。

提前感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-11 09:57:50

我很确定问题是"checklogin.php“不是这个表单出现的同一页。您应该将表单发送到自身,如果失败,则重新绘制登录表单。

如果您不重绘表单,或者您发布到另一个页面,浏览器很可能会认为登录成功。我猜大多数浏览器都是根据相同的表单仍然存在的事实来判断失败的。它应该只有在成功时才会消失。

票数 6
EN

Stack Overflow用户

发布于 2011-07-11 10:03:38

这可能不是完成此操作的最简单方法,但我所做的是使用AJAX提交表单,并将想要将用户发送到的页面放在表单的action属性中。然后,submit按钮的类型将是button,而不是submit,并将调用Javascript函数,该函数在单击时执行AJAX请求。如果对checklogin.php文件的异步请求返回登录成功,我将使用JavaScript提交表单,这实际上只是将用户发送到下一个页面,但是浏览器将要求保存密码。此方法的另一个好处是,当提交不正确的密码时,页面将不必重新加载。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6645014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档