Я хочу подтвердить форму входа через javascript. Я пытаюсь сделать это так:
<script>
function doValidate() {
console.log('Validating...');
try {
addr = document.getElementById('email').value;
pw = document.getElementById('pass').value;
console.log("Validating addr="+addr+" pw="+pw);
if (addr == null || addr == "" || pw == null || pw == "") {
alert("Both fields must be filled out");
return false;
}
if ( addr.indexOf('@') == -1 ) {
alert("Invalid email address");
return false;
}
return true;
} catch(e) {
return false;
}
return false;
}
</script>
Вышеупомянутая функция для проверки формы входа и исходная функция производительности входа, приведенная ниже:
<?php
try{
$con= new PDO("mysql:host=localhost;dbname=courseraassignment","root","");//We made the connection via pdo
//First of all you need to submit the html form
if(isset($_POST['Email'])){
$email=$_POST['Email'];//Fetch the value from input field
$password=$_POST['Password'];//Fetch the value from input field
$query=$con->prepare("select * from users where email='$email' and password='$password'");
$query->setFetchMode(PDO::FETCH_ASSOC);//setFetchMode is default
$query->execute();//Here the execution is done
$data=$query->fetch();//Here we fetch all of the data from the database
//Here we make the condition if some information does not match
if($data['email']!=$email and $data['password']!=$password){
$error_login="invalid login credentials";
}
//Here is the condition for login purpose
else if($data['email']=$email and $data['password']=$password){
$_SESSION['email']=$data['email'];//For further working procedure
$_SESSION['user_id']=$data['user_id'];//For further working procedure
$_SESSION['princeLogin']="youAreLoggedIn";
header('location:index.php');//after the login is done then
//go to the view page
}
}else{
echo "invalid attempt";
}
}catch(PDOException $e){
echo "error".$e->getMessage();
}
?>
HTML форма ниже
<form method="POST" action="login.php">
<label for="email">Email</label>
<input type="text" name="email" id="email"><br/>
<label for="id_1723">Password</label>
<input type="password" name="password" id="pass"><br/>
<input type="submit" onclick="return doValidate();" value="Log In">
<input type="submit" name="cancel" value="Cancel">
</form>
Теперь я хочу, чтобы при совпадении учетных данных пользователя я переходил go на ожидаемую страницу. Но я не смог этого сделать: когда я нажимаю кнопку входа в систему, она остается на той же странице, хотя адрес электронной почты и пароль совпадают.
Поэтому, пожалуйста, дайте мне несколько советов.