我在代码上工作了几个小时,但我无法找到我做错的事。
如果用户名或电子邮件存在,我希望将其重定向到注册页面。如果它们不存在,只需写入数据库,然后重定向到另一个页面。
但是,如果用户名和密码已经使用过,就会出现500或者错误,但实际上已经使用了它们。
我已经制作了很多版本,但我会告诉你最后一个错误500,因为我没有以前的版本。
<?php
$username = $_POST['username'];
$first_name = $_POST['first'];
$last_name = $_POST['last'];
$password = $_POST['password'];
$email = $_POST['email'];
$birth = $_POST['birth'];
$date = date('Y-m-d H:i:s');
$servername = "localhost";
$sqlUser = "USER";
$sqlPassword = "PASSWORD";
try {
$conn = new PDO("mysql:host=$servername;dbname=DBNAME", $sqlUser, $sqlPassword);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e)
{
}
$sqlu = $conn->query("SELECT username from users where username = '$username'");
if($sqlu->fetch() == $username){
header('location: http://musicaltry.com/en/register.php');
}
$sqle = $conn->query("SELECT email from users where emaile = '$email'");
if($sqle->fetch() == $email){
header('location: http://musicaltry.com/en/register.php');
}
else{
$stmt = $conn->prepare("INSERT INTO users (username, first_name, last_name, password, email, birth) VALUES (?, ?, ?, ?, ?, ?)");
$stmt->bind_param("ssssss", $username, $first_name, $last_name, $password, $email, $birth);
$stmt->execute();
$conn->close();
header('location: http://musicaltry.com/en/registered.php');
}
?>
我希望你能帮助我:)。