我一直在做一个登录/注册系统,我正在接近完成我的注册部分代码。我遇到的唯一问题是如何使用户无法注册重复的用户名。我希望它能够工作,以便我的数据库不会接受这些信息,并且它会告诉用户有关错误。任何帮助表示赞赏。如何防止用户注册时出现重复的用户名? PHP/MySQL
我的PHP
<?php
include ('database_connection.php');
if (isset($_POST['formsubmitted'])) {
$error = array();//Declare An Array to store any error message
if (empty($_POST['name'])) {//if no name has been supplied
$error[] = 'Please Enter a name ';//add to array "error"
} else {
$name = $_POST['name'];//else assign it a variable
}
if (empty($_POST['e-mail'])) {
$error[] = 'Please Enter your Email ';
} else {
if (preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/", $_POST['e-mail'])) {
//regular expression for email validation
$Email = $_POST['e-mail'];
} else {
$error[] = 'Your EMail Address is invalid ';
}
}
if (empty($_POST['Password'])) {
$error[] = 'Please Enter Your Password ';
} else {
$Password = $_POST['Password'];
}
if (empty($error)) //send to Database if there's no error '
很抱歉等待,但这完全解决了我的问题!我只是在大约10分钟前将它放入我的代码中,它将不再接受重复的用户名并输出错误。 – Zippylicious
非常感谢你为我+的代表,我很高兴这个答案为你工作,我想跟你说一些东西,当你创建用户的专栏,你可以使它独一无二,例如创建表用户(username varchar(350)not null unique),祝你好运:) –