<?php
session_start();
//ini_set( 'default_charset', "" );
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
error_reporting(E_ALL);
$sqlhost = "localhost";
$sqluser = "root";
$sqlpass = "";
$dbname = "user_data";
try{
$pdo = new PDO('mysql:host=localhost; dbname=user_data', $sqluser, $sqlpass);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Connected Successfully";
} catch(PDOException $e){
echo "Connection failed: " . $e->getMessage();
}
//$mDatabase = mysqli_connect($sqlhost, $sqluser, $sqlpass, $dbname) or die ("DB-system no available");
?>
<!DOCTYPE html>
<html>
<head>
<title>Registrierung</title>
</head>
<body>
<?php
$showFormular = true; //Variable ob das Registrierungsformular anezeigt werden soll
if(isset($_GET['register'])) {
$error = false;
$eMail = $_POST['eMail'];
$password = $_POST['password'];
$password2 = $_POST['password2'];
$nickname = $_POST['nickname'];
$name = $_POST['name'];
$age = $_POST['age'];
$sex = $_POST['sex'];
if(!filter_var($eMail, FILTER_VALIDATE_EMAIL)) {
echo 'Bitte eine gültige E-Mail-Adresse eingeben<br>';
$error = true;
}
if(strlen($password) == 0) {
echo 'Bitte ein Passwort angeben<br>';
$error = true;
}
if($password != $password2) {
echo 'Die Passwörter müssen übereinstimmen<br>';
$error = true;
}
//Überprüfe, dass die E-Mail-Adresse noch nicht registriert wurde
if(!$error) {
$statement = $pdo->prepare("SELECT * FROM users WHERE eMail = :eMail");
$result = $statement->execute(array('eMail' => $eMail));
$user = $statement->fetch();
if($user !== false) {
echo 'Diese E-Mail-Adresse ist bereits vergeben<br>';
$error = true;
}
}
//Keine Fehler, wir können den Nutzer registrieren
if(!$error) {
$pw_hash = password_hash($password, PASSWORD_DEFAULT);
/* $stmt = $pdo->prepare("INSERT INTO users (nickname, eMail, password, name, age, sex) VALUES (?, ?, ?, ?, ?, ?)");
$stmt->bind_param("ssssss", $nickname, $eMail, $pw_hash, $name, $age, $sex);
$stmt->execute();*/
$statement = $pdo->prepare("INSERT INTO user_data.users('nickname', 'eMail', 'password', 'name', 'age', 'sex') VALUES (?, ?, ?, ?, ?, ?)");
$statement->bind_param("ssssis", $nickname, $eMail, $pw_hash, $name, $age, $sex);
$result = $statement->execute(
array('nickname' => $nickname, 'eMail' => $eMail, 'password' => $passwort_hash, 'name' => $name, 'age' => $age, 'sex' => $sex, ));
if($result) {
echo 'Du wurdest erfolgreich registriert. <a href="login.php">Zum Login</a>';
$showFormular = false;
} else {
echo 'Beim Abspeichern ist leider ein Fehler aufgetreten';
}
}
}
if($showFormular) {
?>
<h1> Registrierung </h1>
<form action="?register=1" method="post">
E-Mail:<br>
<input type="eMail" size="40" maxlength="250" name="eMail"><br><br>
Dein Passwort:<br>
<input type="password" size="40" maxlength="250" name="password"><br><br>
Passwort wiederholen:<br>
<input type="password" size="40" maxlength="250" name="password2"><br><br>
Dein Nickname:<br>
<input type="nickname" size="40" maxlength="250" name="nickname"><br><br>
Dein Name:<br>
<input type="name" size="40" maxlength="250" name="name"><br><br>
Dein Alter:<br>
<input type="age" size="40" maxlength="120" name="age"><br><br>
Dein Geschlecht:<br>
<input type="sex" size="40" maxlength="250" name="sex"><br><br>
<input type="submit" value="Abschicken">
</form>
<?php
} //Ende von if($showFormular)
?>
</body>
</html>
Hallo zusammen,
ich versuche hier eine Registrierung zu erstellen bekomme aber immer wieder folgenden Fehler:
Und ich kann ihn einfach nicht lösen. Könnte mir hier jemand eventuell weiter helfen. Ich bin nicht besonders gut in PHP und verstehe auch das meiste kaum. Muss das aber fertig bekommen. Ich wäre euch echt dankbar.