api.php
<?php
include "connection.php";
$route = $_POST['route'];
if($route == "register"){
$email = $_POST['email'];
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$password = $_POST['pwd'];
$sql_check_email = "SELECT * FROM userstable WHERE email='$email'";
$result = $conn->query($sql_check_email);
if ($result->num_rows == 1)
{
$response = array('result' => false);
echo json_encode($response);
}
else
{
$sql = "INSERT INTO userstable (email, name, surname, password)
VALUES ('$email', '$firstname', '$lastname', '$password')";
if ($conn->query($sql) === TRUE) {
echo "New user account created successfully";
$response = array('result' => true, 'email' => $email, 'name' => $firstname, 'surname' => $lastname);
echo json_encode($response);
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
$response = array('result' => false, 'error' => $conn->error);
echo json_encode($response);
}
}
}
$conn->close();
?>
?>
services.js
$(document).ready(function(){
$('#register_container').show();
$('#register').click(function(e){
e.preventDefault();
var route = "register";
var email= $('#reg_email').val();
var firstname= $('#firstname').val();
var lastname= $('#lastname').val();
var pass= $('#reg_password').val();
var rptpass= $('#password_rpt').val();
if(pass == rptpass){
$.ajax({
url:"api.php",
method:"POST",
data:{route:route, email:email, firstname:firstname, lastname:lastname, pwd:pass},
dataType:"json"})
.done(function( data ) {
if (data.result == false){
$('#email_message').text("This" + data.email + "is not available");
}
else if (data.result == true){
console.log('Success!!' + data.result + ", " + data.email);
$('#register_container').hide();
$('#main_container').show();
$('#main_message').text("Welcome " + data.email);
}
})
.fail(function( data ) {
{
console.log('Error!!' + data.result + ", " + data.error);
$('#register_message').text("An error has occured!" + data.error);
}
});
}
else
{
$('#register_message').text("Password and repeat password do not match!!!");
}
});
});
I try to create a registration form which check if the password matches with repeat password and check if email exist in database, when I run the code in localhost the data inserted into the database but the ajax call fails. Is there any solution or something that is not correct in my code.