我目前正在为我的网站开发一个注册脚本,并且我注意到当我注册时,我可以重复提交表单,我不知道为什么没有什么能阻止我。我的意思是,这里的PHP脚本使用,看是否有用户已经exsists:SQL primary_key不工作?
function user_exists($username) {
$query = mysql_query("SELECT username FROM users WHERE username='$username'");
if (mysql_num_rows($query) != 0){
return true;
}
else{
return false;
}
}
和继承人我用来创建表的SQL代码:
CREATE TABLE IF NOT EXISTS `users` (
`user_id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(32) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`password` varchar(128) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`email` varchar(1024) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`active` int(11) NOT NULL DEFAULT '0',
`ip` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL DEFAULT '0.0.0.0',
`date` varchar(64) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=61 ;
所以如果有人能帮助我这,任何帮助将appriciated。
什么叫'user_exists'?它是如何处理'true' /'false'的呢? –
如果用户名已被占用,您是否正在创建要显示的错误? – Newbi3
如果您对JS/AJAX感到满意,我会使用Javascript来调用您的PHP函数并检查用户名是否已经存在,如果是,则阻止用户提交表单。 – Newbi3