我正在一个简单的注册页面上学习php,但是我有2个大问题
当我按注册时,出现以下错误:错误:INSERT INTO用户(用户名,密码)值(hello12345,hello12345) “字段列表”中的未知列“ hello12345”
我检查用户名/密码长度的if语句以及检查密码和确认密码是否匹配的if语句被忽略
我的数据库表如下:
CREATE TABLE users (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL,
);
和PHP是
include("config.php");
$username = "";
$password = "";
$passwordConfirm = "";
$usernameError = "";
$passwordError ="";
$passwordConfirmError ="";
if($_SERVER["REQUEST_METHOD"] == "POST"){
if(empty(trim($_POST["username"]))) {
$usernameError = "Bitte geben Sie einen Benutzernamen ein";
}else {
$username = trim($_POST["username"]);
}
}
if(empty(trim($_POST["password"]))) {
$passwordError = "Bitte geben Sie ein Passwort ein";
} elseif (strlen(trim($_POST["password"])) < 6) {
$passwordError = "Password muss mindestens 6 Zeichen lang sein";
} else {
$password = trim($_POST["password"]);
}
if(empty(trim($_POST["passwordConfirm"]))) {
$passwordError = "Bitte bestätigen Sie ihr Passwort.";
} else {
$passwordConfirm = trim($_POST["passwordConfirm"]);
if($password != $passwordConfirm) {
$passwordConfirmError = "Passwörter stimmen nicht überein";
}
}
if(empty($usernameError) && empty($passwordError) && empty($passwordConfirmError)) {
$sqlStatement = "INSERT INTO users (username, password)
VALUES ($username, $password)";
if(mysqli_query($connection, $sqlStatement)) {
echo "Registrierung erfolgreich";
} else {
echo "Error:" .$sqlStatement . "<br>" . mysqli_error($connection);
}
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Registrieren </title>
</head>
<body>
<div>
<h2>Registrieren</h2>
<p>Bitte erstelle eine Account</p>
<form action="register.php" method="post">
<input type="text" name="username" placeholder="Benutzername">
<input type="text" name="password" placeholder="Passwort">
<input type="text" name="passwordConfirm" placeholder="Passwort bestätigen">
<br>
<button type="submit" name="submit" value="submit">Registrieren</button>
<br>
</form>
</div>
</body>
</html>