0

目前我正在Ajax检查注册验证,但我觉得如果互联网连接不够好,有时Ajax无法正常工作,它会使用户使用相同的用户名注册。那么如何仔细检查注册验证以避免我的数据库中出现重复的用户名?

4

3 回答 3

1

如果您数据库中的字段设置为UNIQUE这不会有问题,因为将返回错误,即

CREATE TABLE user (
    username VARCHAR(20) UNIQUE NOT NULL,
    ...
)

INSERT在这个表上运行 an 但潜在的用户名已经被占用时,错误将被踢回。

我应该提一下,虽然客户端验证一切都很好,很适合在您的网页上使用 pop-up divs 和 highlighting spans,但应该始终在服务器端重新检查验证。

于 2013-03-27T05:27:40.253 回答
0

除了将列上的约束设置username为唯一之外,您应该在创建记录之前进行查询以检查是否有任何错误,听起来您只依赖 Javascript 来验证您的输入。

先解决你的验证!不要依赖javascript来做,前端(html视图)和后端代码(php)需要它

于 2013-03-27T05:31:21.343 回答
0

好吧,这只是一个想法,我很确定您会对输入的更改或模糊事件进行验证。但注册将通过提交按钮完成。如果我是对的,只需在注册过程页面中添加一些脚本来检查用户名是否存在,如果存在,只需重定向回注册页面,并在$_SESSIONor上添加一些错误变量URL/$_REQUEST。该错误变量可用于告诉用户出了什么问题。. 祝你好运 !

于 2013-03-27T05:40:00.930 回答