Логика отверстия здесь неверна.
Сначала вы должны переместить код php из loginpage.php в fetchLogin.php:
<?php
$result = [ 'status' => false, 'msg' => "Please check your inputs!" ];
if ( isset( $_POST['email'] ) && isset( $_POST['password'] ) ) {
$con = new mysqli( 'localhost', 'research_emailC', 'test123', 'research_phpEmailConfirmation' );
$email = $con->real_escape_string( $_POST['email'] );
$password = $con->real_escape_string( $_POST['pass'] );
if ( $email !== "" && $password !== "" ) {
$sql = $con->query( "SELECT id, password, isEmailConfirmed FROM users WHERE email='$email'" );
if ( $sql->num_rows > 0 ) {
$data = $sql->fetch_array();
if ( password_verify( $password, $data['password'] ) ) {
if ( $data['isEmailConfirmed'] == 0 ) {
$result['msg'] = "Please verify your email!";
} else {
$result['status'] = true;
$result['msg'] = "You have been logged in";
}
}
}
}
}
echo json_encode( $result );
die();
Затем обновите JS:
$.ajax({
method: "POST",
url: "fetchLogin.php",
dataType: "json",
data: { email: email, password: pass}
}).done( function( response ) {
// code for render response.msg
if ( ! response.status ) {
return false;
} else {
setTimeout( window.location = "welcomepage_hideme.php", 3000 );
}
});