En ce moment, j'essaie de valider un formulaire en utilisant PHP. Le problème est que, même après avoir entré quelque chose de mal, PHP l'interprète comme juste. Évidemment, je ne comprends pas pourquoi, même si j'ai une hypothèse. Voici le code:Validation de formulaire PHP ne fonctionne pas - plusieurs questions
if(isset($_GET['contact'])){
// Validation functions
// Name
function validate_name(){
$name = $_POST['customer'];
if(strlen($name) > 0){
trim(mysql_real_escape_string($name));
return true;
}else {
return false;
}
}
// Mail
function validate_mail(){
$mail = $_POST['mail'];
if(preg_match('/^[a-zA-Z0-9._%+-][email protected][a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/', $mail) && strlen($mail) > 0){
return true;
}else {
return false;
}
}
// Message
function validate_message(){
$message = $_POST['message'];
if(strlen($message) > 0){
trim(mysql_real_escape_string($message));
return true;
}else {
return false;
}
}
validate_name();
validate_mail();
validate_message();
if(validate_name == true && validate_mail == true && validate_message == true){
echo "Ok!";
}else{
echo "Error!";
}
}
Une chose que je sais est mauvais est le suivant: if(validate_name == true && validate_mail == true && validate_message == true){}
. Mais si je ne me trompe pas, cela fonctionne toujours parce que PHP peut gérer quelque chose comme ça (PHP donne seulement un avis, pas une erreur). Mais comment faire les choses correctement, il doit y avoir un meilleur moyen?
La seconde que j'ai découverte est que PHP appelle fondamentalement les fonctions correctes, mais à l'intérieur des fonctions le if-else ne fonctionne pas. Pourquoi? Je ne comprends pas ...
'PHP donne seulement un avis, pas une erreur 'Qu'en est-il de la correction de l'avis ?? – PeeHaa
C'est pourquoi je demande comment le faire mieux. – Sven
Vous pouvez le faire mieux en fixant l'avis de c. Puisque vous n'avez pas ajouté l'avis, je devine juste. Mais vous faites: 'validate_name'. Qu'est-ce que c'est??? – PeeHaa