目前我正在使用Ajax
来检查注册验证,但我觉得如果互联网连接不够好,有时候Ajax
无法正常工作,它会让用户注册相同的用户名。那么如何仔细检查寄存器验证以避免数据库中出现重复的用户名?
答案 0 :(得分:1)
如果数据库中的字段设置为UNIQUE
,则不会出现问题,因为会返回错误,即
CREATE TABLE user (
username VARCHAR(20) UNIQUE NOT NULL,
...
)
如果在此表上运行INSERT
但已经使用了潜在的用户名,则会出现错误。
我是否应该提及虽然客户端验证在弹出div
并突出显示span
的网页上非常好用,但应始终重新检查验证服务器端。
答案 1 :(得分:0)
除了将列username
上的约束设置为唯一之外,您应该在创建记录之前进行查询以检查是否存在任何错误,听起来您只依靠Javascript来验证输入。
首先解决您的验证!不要依赖javascript做它,需要它在前端(html视图)和后端代码(php)
答案 2 :(得分:0)
这只是一个想法,我很确定您对输入的更改或模糊事件进行验证。但注册将通过提交按钮完成。如果我没错,只需在registration-proccess页面添加一些脚本,检查用户名是否存在,如果存在,只需重定向回到注册页面,$_SESSION
或{{1}上有一些错误变量}。该错误变量可用于告诉用户什么是错误的。 。祝你好运!