我的网站在php上运行我想添加注册用户表单,使用唯一的用户名。如何在向DB"发送请求之前进行验证用户名。按注册"。
答案 0 :(得分:1)
你可以为其他人甚至是听众而不是onclick
。
您可以使用onkeyup
,onblur
以及更多基于鼠标的事件来调用Ajax来检查您的用户名是否存在于DB中。
答案 1 :(得分:1)
如何在向DB发送请求之前制作验证用户名“按 注册”。
假设您将验证userName
是否唯一,则必须对db
但您可以执行此onblur
事件并使用ajax
例如
<input type ="text" onblur="validate()">
<强> JS 强>
function validate(){
// ajax code
}
答案 2 :(得分:0)
在类似的情况下,我在点击注册,查询数据库并与用户想要的名称进行比较时检查现有用户名,如果已存在,则提醒用户,不要将条目写入数据库。下面有一个片段以及GitHub link到您自己查看注册类的网站。
// check if user or email address already exists
$sql = "SELECT * FROM users WHERE user_name = '" . $user_name . "' OR user_email = '" . $user_email . "';";
$query_check_user_name = $this->db_connection->query($sql);
if ($query_check_user_name->num_rows == 1) {
$this->errors[] = "Sorry, that username / email address is already taken.";
} else {
// write new user's data into database
$sql = "INSERT INTO users (user_name, user_password_hash, user_email)
VALUES('" . $user_name . "', '" . $user_password_hash . "', '" . $user_email . "');";
$query_new_user_insert = $this->db_connection->query($sql);
如果您确实需要在命中注册之前检查名称是否已被占用,则可以使用事件监听器(如“onblur”),然后在事件函数中进行Ajax调用以处理PHP。验证名称看起来与上面的代码类似,只是不保存用户,并根据结果采取适当的操作。