在另一个用户注册时,如何检查mysql数据库中是否已存在电子邮件或用户名,因此我可以停止注册过程,并可能建议新用户在数据库中不存在另一个2/3新用户名.
所以我尝试解决这个问题,我只能得到一种检查数据库中是否已经存在电子邮件的方法,同时我需要一种可以检查数据库中的用户名和电子邮件并分别打印$error的方法.我的意思是,如果电子邮件存在而用户名不存在,则只会打印错误电子邮件,并且用户名也相同.
我希望有人能理解我.
if(isset($_POST['register'])) {
$username = $_POST['username'];
$full_name = ucwords($_POST['full_name']);
$email = $_POST['email'];
$password = trim($_POST['password']);
$time = time();
$age = $_POST['age'];
$gender = $_POST['gender'];
// Geolocation
$longitude = $_SESSION['longitude'];
$latitude = $_SESSION['latitude'];
$geo_info = $geo->getInfo($latitude,$longitude);
$city = $geo_info['geonames'][0]['name'];
$country = $geo_info['geonames'][0]['countryName'];
$check_d = $db->query("SELECT username, email from users WHERE username = '$username' OR email = '$email'");
$check_d = $check_d->num_rows;
if($check_d == 0) {
$db->query("INSERT INTO users (profile_picture,username,full_name,email,password,registered,credits,age,gender,ip,country,city,longitude,latitude) VALUES ('default_avatar.png','$username','$full_name','$email','".$auth->hashPassword($password)."','$time','100','$age','$gender','$ip','".$country."','".$city."','".$longitude."','".$latitude."')");
setcookie('justRegistered', 'true', time()+6);
setcookie('mm-email',$email,time()+60*60*24*30,'/');
header('Location: '.$domain.'/people');
}
else { $error = 'Username or password already exist, Try Another';
}
}
if($auth->isLogged()) {
$first_name = $system->getFirstName($_SESSION['full_name']);
$logged_in_user = header('Location: '.$domain.'/people');
}
$users = $db->query("SELECT * FROM users ORDER BY RAND() LIMIT 7");
?>