For some reason this code:
$.ajax({
type: "POST",
url: "assets/PHP/registreer.php",
data: $('form').serialize(),
complete: function (data) {
console.log(data.responseText);
}
})
Returns undefined, i'm think this is beacause responseText is not yet returned when complete is fired. But why does it not wait? And how would i make it wait.
I've tryed alot of diffrent things including:
jQuery.ajax response data is undefined
Jquery Ajax responseText returns undefined but when i log it as an object it returns the ajax text
EDIT: Include PHP file
<?php
session_start();
$emailPost = $_REQUEST["email"];
$passwordPost = $_REQUEST["password"];
$passwordRetypePost = $_REQUEST["retypepassword"];
$servername = "XXXXXX";
$username = "XXXXX";
$password = "XXXXX";
$dbname = "XXXXXX";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
if ($passwordPost != $passwordRetypePost) {
echo "Paswoorden zijn niet hetzelfde!";
} else {
if (!($stmt = $conn->prepare("SELECT * FROM `Gebruikers` WHERE `Email` =
?"))) {
echo "Prepare failed: (" . $conn->errno . ") " . $conn->error;
} else {
$stmt->bind_param("s", $emailPost);
$stmt->execute();
$stmt->bind_result($id, $email, $paswoord, $rol);
$stmt->store_result();
if ($stmt->num_rows > 0) {
echo "Email bestaat al!";
} else {
$stmt->close();
$hash = password_hash($passwordPost, PASSWORD_DEFAULT);
if (!($stmt = $conn->prepare("INSERT INTO `Gebruikers`(`Email`, `Paswoord`) VALUES (?,'$hash')"))) {
echo "Prepare failed: (" . $conn->errno . ") " . $conn->error;
}
$stmt->bind_param("s", $emailPost);
$stmt->execute();
echo "Gelukt!";
}
}
}
$mysqli->close();
?>