当注册具有相同用户名时,不显示警告框



我正在使用php进行注册,我想显示一个警告框,显示"用户已被占用"。但是,当我注册一个与上一个帐户具有相同信息的帐户时,它不会显示警告框。它将返回到我设置的空白登录页面。数据重复不会写入mySQL,但不会显示警报框。感谢

<?php
session_start();
header('location:login.php');
$con = mysqli_connect('localhost','root','');
mysqli_select_db($con, 'userregistration');
$name = $_POST['user'];
$pass = $_POST ['password'];
$email = $_POST['mail'];
$phone = $_POST['phone'];
$s = " SELECT * FROM usertable WHERE name = '$name'";
$result = mysqli_query($con, $s);
$num = mysqli_num_rows($result);
if ($num == 1){
$message="User already taken";
echo "<script type='text/javascript'> alert('$message');</script>";
}else {
$reg = "INSERT INTO usertable(name, password, email, phone ) values ('$name', '$pass','$email', '$phone')";/*, '$email','$phone'*/
mysqli_query($con, $reg);
echo"Registration successfull";
}
?>

您可能需要首先检查连接/查询是否成功:

if($result=mysqli_query($con,$s)) {
if(mysqli_num_rows($result)==1) { 
... user already taken code ... 
} else { 
... insert new user code ... 
}
}

请参阅w3schools参考:https://www.w3schools.com/php/func_mysqli_num_rows.asp

这也可以帮助您调试出现问题的地方。

最新更新