php insert语句不起作用,代码被忽略

时间:2018-11-23 01:22:21

标签: php mysql database

我正在一个简单的注册页面上学习php,但是我有2个大问题

  1. 当我按注册时,出现以下错误:错误:INSERT INTO用户(用户名,密码)值(hello12345,hello12345) “字段列表”中的未知列“ hello12345”

  2. 我检查用户名/密码长度的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>

0 个答案:

没有答案