目前我正在Ajax
检查注册验证,但我觉得如果互联网连接不够好,有时Ajax
无法正常工作,它会使用户使用相同的用户名注册。那么如何仔细检查注册验证以避免我的数据库中出现重复的用户名?
问问题
233 次
3 回答
1
如果您数据库中的字段设置为UNIQUE
这不会有问题,因为将返回错误,即
CREATE TABLE user (
username VARCHAR(20) UNIQUE NOT NULL,
...
)
当INSERT
在这个表上运行 an 但潜在的用户名已经被占用时,错误将被踢回。
我应该提一下,虽然客户端验证一切都很好,很适合在您的网页上使用 pop-up div
s 和 highlighting span
s,但应该始终在服务器端重新检查验证。
于 2013-03-27T05:27:40.253 回答
0
除了将列上的约束设置username
为唯一之外,您应该在创建记录之前进行查询以检查是否有任何错误,听起来您只依赖 Javascript 来验证您的输入。
先解决你的验证!不要依赖javascript来做,前端(html视图)和后端代码(php)需要它
于 2013-03-27T05:31:21.343 回答
0
好吧,这只是一个想法,我很确定您会对输入的更改或模糊事件进行验证。但注册将通过提交按钮完成。如果我是对的,只需在注册过程页面中添加一些脚本来检查用户名是否存在,如果存在,只需重定向回注册页面,并在$_SESSION
or上添加一些错误变量URL/$_REQUEST
。该错误变量可用于告诉用户出了什么问题。. 祝你好运 !
于 2013-03-27T05:40:00.930 回答