I connected my database to php, and made sure the connection was established. Even with the connection, and double-checking all the syntaxes for my inserts, it won't work (It won't do any insert of value in my database).
Here is my code:
Backend side:
<?php
include "dbconnector.php";
include "DB_functions.php";
function setcategories($uid){
$categories = getcategroies();;
for ($i = 0; $i < sizeof($categories); $i++) {
if (isset($_POST[$categories[$i]])){
$cid = getcategorieid($_POST[$categories[$i]]);
$query = "INSERT INTO categorytouser (userID, categoryID) VALUES (?,?)";
$stmt = $mysqli->prepare($query);
$stmt->bind_param("ss", $uid,$cid );
$stmt->execute();
}
}
}
$error = $message = '';
$adminkey = 123456;
// Wurden Daten mit "POST" gesendet?
if($_SERVER['REQUEST_METHOD'] == "POST"){
// Ausgabe des gesamten $_POST Arrays
echo "<pre>";
print_r($_POST);
echo "</pre>";
if(isset($_POST['username']) && !empty(trim($_POST['username'])) && strlen(trim($_POST['username'])) <= 30){
$username = trim($_POST['username']);
if(!preg_match("/(?=.*[a-z])(?=.*[A-Z])[a-zA-Z]{6,}/", $username)){
$error .= "Der Benutzername entspricht nicht dem geforderten Format.<br />";
}
} else {
$error .= "Geben Sie bitte einen korrekten Benutzernamen ein.<br />";
}
if(isset($_POST['password']) && !empty(trim($_POST['password']))){
$password = trim($_POST['password']);
$password = password_hash($password, PASSWORD_BCRYPT);
if(!preg_match("/(?=^.{8,}$)((?=.*\d+)(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$/", $password)){
$error .= "Das Passwort entspricht nicht dem geforderten Format.<br />";
}
} else {
// Ausgabe Fehlermeldung
$error .= "Geben Sie bitte einen korrekten Nachnamen ein.<br />";
}
if(isset($_POST['admin-password']) && $_POST['admin-password'] == $adminkey){
$admin = 1;
} else {
$admin = 0;
$error ="password is false";
}
// wenn kein Fehler vorhanden ist, schreiben der Daten in die Datenbank
if(empty($error)){
$stmt = $mysqli->prepare("INSERT INTO users (Name, password, Rights) VALUES (?,?,?)");
$stmt->bind_param('ssi', $username, $password, $admin);
$stmt->execute();
if($stmt===false){
$error .= 'prepare() failed '. $mysqli->error . '<br />';
}
// parameter an query binden
if(!$stmt->bind_param('sss',$username, $password, $admin)){
$error .= 'bind_param() failed '. $mysqli->error . '<br />';
}
// query ausführen
if(!$stmt->execute()){
$error .= 'execute() failed '. $mysqli->error . '<br />';
}
// kein Fehler!
if(empty($error)){
$stmt->execute();
$message .= "Die Daten wurden erfolgreich in die Datenbank geschrieben<br/ >";
// verbindung schliessen
$mysqli->close();
$id=getuserid($username);
setcategories($id);
}
}
}
?>
Frontend side:
<?php
include("../common/Backend/DB/POST_createuser.php");
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../css/styles.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
<title>Registrierung</title>
</head>
<body>
<form action="Register.php" method="post">
<div class="container">
<div class="row">
<div class="col-md-6 col-md-offset-3">
<div class="panel panel-login">
<div class="panel-heading">
<div class="row">
<div class="col-xs-6">
<a href="login.php" id="login-form-link">Login</a>
</div>
<div class="col-xs-6">
<a href="Register.php" class="active" id="register-form-link">Register</a>
</div>
</div>
<hr>
</div>
<div class="panel-body">
<div class="row">
<div class="col-lg-12">
<form id="register-form" action="Register.php" method="post" role="form" style="display: none;">
<div class="form-group">
<input type="text" name="username" id="username" tabindex="1" class="form-control" placeholder="Username" value="">
</div>
<div class="form-group">
<input type="password" name="password" id="password" tabindex="2" class="form-control" placeholder="Password">
</div>
<div class="form-group">
<input type="password" name="confirm-password" id="confirm-password" tabindex="2" class="form-control" placeholder="Confirm Password">
</div>
<div class="form-group">
<input type="administrator" name="admin-password" id="admin-password" tabindex="2" class="form-control" placeholder="Admin Registration Key">
</div>
<div class="form-group">
<div class="row">
<div class="col-sm-6 col-sm-offset-3">
<input type="submit" name="register-submit" id="register-submit" tabindex="4" class="form-control btn btn-register" value="Register Now">
</div>
<div class="col-sm-6 col-sm-offset-3">
<p>In order to register as an Admin, you need to know the registration key</p>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</form>
</body>
</html>
Everything works, the files are connected together.
Image of the proof that everything works
Thanks to the people that could help me out!