Próbuję więc sprawdzić, czy e-mail jest ważny, wiem, że mogę używać tylko JS dla tego, ale wolę drogę. Oto, co robię
//Get data
if(isset($_POST['email'])){
$email = htmlspecialchars($_POST['email'], ENT_QUOTES, 'UTF-8')
}
else{
header('Location: /');
}
if(!filter_var($email, FILTER_VALIDATE_EMAIL)){
echo 1;
}
else{
echo 0;
}
I mój Js.
$(document).ready(function() {
//listens for typing on the desired field
$("#email").keyup(function() {
//gets the value of the field
var email = $("#email").val();
//here is where you send the desired data to the PHP file using ajax
$.post("../classes/validate.php", {email:email},
function(result) {
if(result == 1) {
//Email is valid
console.log("Good");
}
else {
//Email is invalid
console.log("Bad");
}
});
});
});
Teraz bez względu na to, co wchodzę, zawsze powraca Bad
. Nawet z ważnym e-mailem. Jakieś pomysły?
1
user302975
19 sierpień 2014, 03:04
2 odpowiedzi
Najlepsza odpowiedź
Brakuje średnika zaraz po przechowywaniu wiadomości e-mail jako zmiennej.
//Get data
if(isset($_POST['email'])){
$email = htmlspecialchars($_POST['email'], ENT_QUOTES, 'UTF-8');
}
else{
header('Location: /');
}
if(filter_var($email, FILTER_VALIDATE_EMAIL)){
echo 1;
}
else{
echo 0;
}
1
Idris
18 sierpień 2014, 23:13
Nie należy używać HTMLSpecialchars () przed walidowaniem. Używaj go tylko do prezentacji, tj. Podczas wysyłania wiadomości e-mail w HTML.
1
user715517
18 sierpień 2014, 23:07