当我保存信息时。我工作正常。没有错误并且数据库被保存。但是当我在数据库中输入一些已经存在的东西时,比如名字(检查唯一性是否有效)。它给出以下通知并回显消息 - “用户名已被占用”。. 我做了很多改变,但没有结果,谢谢
<?php
require_once('includes/database.php');
require_once('includes/user.php');
require_once('includes/functions.php');
require_once('includes/session.php');
?>
<?php
if(isset($_POST['submit'])){ //Form submitted
$username = $database->escape_value($_POST['vnumber']);
$firstname = $database->escape_value($_POST['fname']);
$lastname = $database->escape_value($_POST['lname']);
$email = $database->escape_value($_POST['email']);
$password = $database->escape_value($_POST['password']);
$password = md5($password);
//检查字段不为空
if (empty($username)){
echo "Please fill in username";
} else if (empty($firstname)){
echo "Cannot be blank";
} else if(empty($lastname)){
echo "Cannot be blank";
} else if(empty($email)){
echo "Cannot be blank";
} else if (empty($password)){
echo "Cannot be blank";
} else {
//检查用户名的唯一性
$query = mysql_query("SELECT * FROM user_info WHERE fname='$firstname'");
$rows = mysql_num_rows($query);
if ($rows == 1){
echo "Username taken !";
} else {
//如果 rows = 0。字段不为空。可以保存数据。
$result ="";
global $database;
$sql = "INSERT INTO user_info (vnumber, fname, lname, email, password) VALUES
('$username', '$firstname', '$lastname', '$email', '$password')";
$result = $database->query($sql);
}
if($result){
die( "Regisgtration success !");
} else {
die("Something went wrong !");
}
}
}
?>