【发布时间】:2012-11-23 16:47:49
【问题描述】:
我正在创建一个注册表单。 用户输入用户名和密码,然后按提交,使用 POST 提交表单。 HTML:
<link href="Styles/RegisterStyles.css" rel="stylesheet" type="text/css" />
<form id="frmRegister" method="post" action="register.php">
<h1>Register</h1>
<table width="100%">
<tr>
<td width="16%"><label class="alignRight"> Username: </label></td>
<td width="84%"><input name="txtUsername" type="text" maxlength="40" /></td>
</tr>
<tr>
<td width="16%"><label class="alignRight"> Password: </label></td>
<td width="84%"><input name="txtPassword" type="text" maxlength="40" /></td>
</tr>
<tr>
<td width="16%"> </td>
<td width="84%"><input name="Submit" class="submitButton" type="submit" /></td>
</tr>
</table>
</form>
</html>
PHP:
$username = $_POST["txtUsername"];
$password = $_POST["txtPassword"];
//Code to connect to database
function doesUsernameExist($username)
{
//return true if username exists or false otherwise
}
现在,在 PHP 中,我运行一个查询来检查用户名是否存在于数据库中。 如果用户名已经存在,如何在不导航到另一个页面并导致“用户名”和“密码”字段重置为空白的情况下通知用户?
有些注册表单有一个非常简洁的 Javascript,它会在您每次按下键盘上的键时检查用户名是否存在。关于如何实施的任何想法?使用 JavaScript 从我收集到的信息中连接到数据库是困难的(也是不好的做法)。
【问题讨论】:
-
你在使用 jQuery 吗?您也可以发布您的 HTML 吗?
-
我能想到的一种方法是,在您拥有用户名的 3 个字符之后,您会生成所有已使用用户名的列表并将其提供给 JS。从那里开始,让 JS 检查所选用户名是否已经在列表中
-
使用 AJAX。它基本上是对服务器的“正常”请求,只是不刷新页面。相反,该请求由 Javascript 在后台执行。该请求可以简单地由 PHP 脚本处理。该脚本的响应可以由 Javascript 处理。 AJAX 使用 JQuery 非常简单,尽管有很多 sn-ps 说明如何在没有 JQuery 的情况下使用 AJAX。
-
很遗憾没有 jQuery。我很快就会发布 HTML。
-
仅供参考,这最好通过在输入的 onkeypress 或 onblur 事件中调用 AJAX 来完成。
标签: php javascript html sql