Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1412 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Vérification champs vide

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Vérification champs vide

n°2108757
Ogden
Posté le 30-10-2011 à 12:12:10  profilanswer
 

Bonjour,
 
Je m'adresse a vous ajd car j'ai un soucis avec un formulaire que j'ai fais en partant d'un gabarit trouvé sur google. (Car je suis débutant et je ne connais pas le php)
Le soucis c'est que la vérification des champs vides ne fonctionne pas.
Lorsque je click sur envoyer alors que je ne remplis rien, il m'envois sur la page de remerciement, mais je ne recois pas l'email.
Or ce que je souhaiterai, c'est qu'une fenetre apparaisse en disant: Veuillez mettre un ... (nom ou prénom ou adresse ou telephone ou email)
Je vous colle le .php  
 
Si vous arrivez a trouver l'erreur, je vous en serai toujours reconnaissant lol
 
Merci d'avance.
 
<?php
 /*
 ********************************************************************************************
 CONFIGURATION
 ********************************************************************************************
 */
 // destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
 $destinataire = 'contacte@airsoftexperience.be';
 
// copie ? (envoie une copie au visiteur)
 $copie = 'oui'; // 'oui' ou 'non'
 
// Messages de confirmation du mail
 header('Location: http://www.airsoftexperience.be/merci.html');
 
 // Messages d'erreur du formulaire
 $message_erreur_formulaire = "Vous devez d'abord envoyer le formulaire.";
 $message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";
 
/*
 ********************************************************************************************
 FIN DE LA CONFIGURATION
 ********************************************************************************************
 */
 
 
// on teste si le formulaire a été soumis
 if (!isset($_POST['envoi']))
 {
 // formulaire non envoyé
 echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
 }
 else
 {
 /*
 * cette fonction sert à nettoyer et enregistrer un texte
 */
 function Rec($text)
 {
 $text = trim($text); // delete white spaces after & before text
 if (1 === get_magic_quotes_gpc())
 {
 $stripslashes = create_function('$txt', 'return stripslashes($txt);');
 }
 else
 {
 $stripslashes = create_function('$txt', 'return $txt;');
 }
 
// magic quotes ?
 $text = $stripslashes($text);
 $text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
 $text = nl2br($text);
 return $text;
 };
 
/*
 * Cette fonction sert à vérifier la syntaxe d'un email
 */
 function IsEmail($email)
 {
 $pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
 return (eregi($pattern,$email)) ? true : false;
 };
 
// formulaire envoyé, on récupère tous les champs.
 $nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
 $email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
 $adresse = (isset($_POST['adresse'])) ? Rec($_POST['adresse']) : '';
 $telephone = (isset($_POST['telephone'])) ? Rec($_POST['telephone']) : '';
 $prenom = (isset($_POST['prenom'])) ? Rec($_POST['prenom']) : '';
 $paiement = (isset($_POST['paiement'])) ? Rec($_POST['paiement']) : '';
 $modele = (isset($_POST['modele'])) ? Rec($_POST['modele']) : '';
 $prix = (isset($_POST['prix'])) ? Rec($_POST['prix']) : '';
 
// On va vérifier les variables et l'email ...
 $email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
 
if (($nom != '') && ($email != '') && ($adresse != '') && ($telephone != '') && ($prenom != '') && ($paiement != '') && ($modele != '') && ($prix != ''))
 {
 // les variables sont remplies, on génère puis envoie le mail
 $headers = 'From: '.$email.'' . "\r\n";
 
// envoyer une copie au visiteur ?
 if ($copie == 'oui')
 {
 $cible = $destinataire.','.$email;
 }
 else
 {
 $cible = $destinataire;
 };
 
// Remplacement de certains caractères spéciaux
 $message = str_replace("'","'",$message);
 $message = str_replace("’","'",$message);
 $message = str_replace("&quot;",'"',$message);
 $message = str_replace('<br>','',$message);
 $message = str_replace('<br />','',$message);
 $message = str_replace("&lt;","<",$message);
 $message = str_replace("&gt;",">",$message);
 $message = str_replace("&amp;","&",$message);
 $message = str_replace("&eacute;","é",$message);
 $message = str_replace("&egrave;","è",$message);
 $message = str_replace("&euro;","€",$message);  
 
 
 
$message = 'Nom : '.$nom."\r\n\r\n";
 $message .= 'Prénom : '.$prenom."\r\n\r\n";
 $message .= 'Adresse : '.$adresse."\r\n\r\n";
 $message .= 'Téléphone : '.$telephone."\r\n\r\n";
 $message .= 'Modèle : '.$modele."\r\n\r\n";
 $message .= 'Prix : '.$prix."\r\n\r\n";
 $message .= 'Type De Paiement : '.$paiement."\r\n";
 
 
 
// Envoi du mail
 if (mail($cible, 'Nouvelle Commande', $message, $headers))
 {
 echo '<p>'.$message_envoye.'</p>'."\n";
 }
 else
 {
 echo '<p>'.$message_non_envoye.'</p>'."\n";
 };
 }
 else
 {
 // une des 3 variables (ou plus) est vide ...
 echo '<p>'.$message_formulaire_invalide.' <a href="contact.html">Retour au formulaire</a></p>'."\n";
 };
 }; // fin du if (!isset($_POST['envoi']))
 ?>  

mood
Publicité
Posté le 30-10-2011 à 12:12:10  profilanswer
 

n°2108766
guicara
Posté le 30-10-2011 à 13:32:13  profilanswer
 

Bonjour,
 
Le principe est de tester si les variables de type POST que tu reçois (nom, prénom, téléphone...) ne sont pas vide. Pour se faire, on utilise soit la fonction "empty" ou on regarde si la variable est différente de "rien" :
 
if (empty($_POST['nom']))
        echo 'Champ vide';
 
if ($_POST['nom'] == '')
        echo 'Champ vide';

n°2108769
Ogden
Posté le 30-10-2011 à 14:15:21  profilanswer
 

OK ok, mais je ne vois pas ou mettre cela, ni comment le formuler...
 
Mais ce que ne je comprend pas dans mon code, ce sont ces 2 parties la:
 
// On va vérifier les variables et l'email ...  
 $email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
   
if (($nom != '') && ($email != '') && ($adresse != '') && ($telephone != '') && ($prenom != '') && ($paiement != '') && ($modele != '') && ($prix != ''))
  {  
 // les variables sont remplies, on génère puis envoie le mail  
 $headers = 'From: '.$email.'' . "\r\n";  
   
// envoyer une copie au visiteur ?  
 if ($copie == 'oui')  
 {  
 $cible = $destinataire.','.$email;  
 }  
 else  
 {  
 $cible = $destinataire;  
 };  
 
 
 
// Envoi du mail  
 if (mail($cible, 'Nouvelle Commande', $message, $headers))  
 {  
 echo '<p>'.$message_envoye.'</p>'."\n";  
 }  
 else  
 {  
 echo '<p>'.$message_non_envoye.'</p>'."\n";  
 };  
 }  
 else  
 {  
 // une des 3 variables (ou plus) est vide ...  
 echo '<p>'.$message_formulaire_invalide.' <a href="contact.html">Retour au formulaire</a></p>'."\n";
  };  
 }; // fin du if (!isset($_POST['envoi']))  
 ?>  


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Vérification champs vide

 

Sujets relatifs
Test de champs sur un site anexeinscription vide apres validation
probleme insertion champs supplementaires formulaire php[jquery] Rules : Valeur Max d'un champs en rapport avec un autre champ
Vérification de la bonne exécution d'une requêteTester si une variable est vide dans un .bat
Champs Word /DateVérification email
pb récupération du contenu d'un champs texte[Resolu] GROUP BY Sur deux champs
Plus de sujets relatifs à : Vérification champs vide


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR