Vérifier que les champs de formulaire ne sont pas vide

Petit nouveau ! | 5 Messages

18 juin 2012, 09:28

Bonjour à tous :D

Je me permets de venir vers vous car je rencontre une petite coquille dans le création de mon formulaire de contact.
Je viens de créer un formulaire permettant aux internautes de m'envoyer quelques informations :
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
	<meta http-equiv="Content-Type" content="text/plain; charset=UTF-8" />
</head>
<?PHP
if (get_magic_quotes_gpc())
{
    $nom = stripslashes($_POST['nom']); 
    $email = stripslashes($_POST['email']);
    $nation = stripslashes($_POST['nation']); 
    $prenom = stripslashes($_POST['prenom']); 
    $telephone = stripslashes($_POST['telephone']); 
    $adresse = stripslashes($_POST['adresse']);
    $profession = stripslashes($_POST['profession']); 
    $statut = stripslashes($_POST['statut']); 
    $interet = stripslashes($_POST['interet']);
    $message = stripslashes($_POST['message']);  
} 
else
{  
    extract($_POST,EXTR_OVERWRITE); 
    
    
/* Destinataire (votre adresse e-mail) */
$to = '[email protected]';
// Subject
$subject = 'Demande informations concernant monsite.com';
/////voici la version Mine 
$headers = "MIME-Version: 1.0\r\n"; 

$headers .='Content-Type: text/plain; charset="utf-8"'." ";
$headers .='Content-Transfer-Encoding: 8bit'; 
/* Construction du message */
$msg  = 'Bonjour,'."\r\n\r\n";
$msg .= 'Ce mail a été envoyé depuis le site monsite.com par '.$nom.' '.$prenom."\r\n\r\n";
$msg .= 'Voici le message qui vous est adressé :'."\r\n";
$msg .= '***************************'."\r\n";
$msg .= 'Le nom est :'.$nom."\r\n\r\n";
$msg .= 'Le prénom est :'.$prenom."\r\n\r\n";
$msg .= 'La nationalité est :'.$nation."\r\n\r\n";
$msg .= 'Le numéro de téléphone est :'.$telephone."\r\n\r\n";
$msg .= 'L adresse email est :'.$email."\r\n\r\n";
$msg .= 'L adresse de domiciliation est :'.$adresse."\r\n\r\n";
$msg .= 'Sa profession est :'.$profession."\r\n\r\n";
$msg .= 'Son statut est :'.$statut."\r\n\r\n";
$msg .= 'Son intérêt est :'.$interet."\r\n\r\n";
$msg .= 'Son message est :'.$message."\r\n\r\n";
$msg .= '***************************'."\r\n\r\n";
 
$headers = 'From: '.$nom.' '.$prenom.' <'.$expediteur.'>'."\r\n\r\n";
/* Envoi de l'e-mail */
mail($to, $subject, utf8_decode($msg), utf8_decode ($headers));
// la fonction de redirection ------------
function redir($url){
echo "<script language=\"javascript\">";
echo "window.location='$url';";
echo "</script>";
}
// Utiliser la redirection ---------------
redir("http://www.monsite.com"); 
}?> 
</html>
La fonction mail fonctionne, sans trop de problèmes
Maintenant je cherche une fonctionnalité permettant de vérifier que les champs ne sont pas vide.
J'ai fais plusieurs recherches en partenariat avec mon ami Google, les solutions trouvées sont trop complexe à mon goût
(ex: vérifier qu'il y a bien des chiffre et des lettres, vérifier que le tél est bien composé de 10 numéros, vérifier que le @ est bien placé, etc....)

Pour ma part je cherche juste une solution permettant de vérifier que les champs ne sont pas vide et si c'est le cas avoir une petite fenêtre pop-up qui dit "veillez remplir tous les champs, merci"

J'ai essayé d'implémenter une petite ligne de code à ma façon, mais vue mon niveau de Php , ça ne m’étonne pas que le code ne fonctionne pas :mrgreen:

Si vous pouvez me donner un petit coup de main, je pense que pour des pro ça doit pas être très compliqué.
Je vous remercie d'avance pour votre aide ou vos pistes de recherches, très bonne journée

ViPHP
xTG
ViPHP | 7331 Messages

18 juin 2012, 09:31


Mammouth du PHP | 2278 Messages

18 juin 2012, 09:57

J'ai fais plusieurs recherches en partenariat avec mon ami Google, les solutions trouvées sont trop complexe à mon goût
(ex: vérifier qu'il y a bien des chiffre et des lettres, vérifier que le tél est bien composé de 10 numéros, vérifier que le @ est bien placé, etc....)
C'est bizarre de commencer sa recherche par Google et pas par la doc en ligne.
entre isset() et empty() il y a de quoi fournir

Il y a bien aussi l'attribut required= 'required', mais à ma connaissance IE ne le connait pas.
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

ViPHP
xTG
ViPHP | 7331 Messages

18 juin 2012, 13:41

Bah pas si bizarre que cela quand on ne connait pas le nom de la fonction.
Il n'y a pas de recherche par description sur la doc. :P

Mammouth du PHP | 2278 Messages

18 juin 2012, 14:39

1) J'avais vérifié avant de taper cette remarque que taper formulaire dans la zone de recherche du manuel en ligne donne une multitude d'informations.
2) Qu'attend-on pour ajouter ce type d'aide au manuel en ligne?
3) De toute façon, au moins une question sur deux provient de l'absence de lecture du manuel.
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

paikan0606
Invité n'ayant pas de compte PHPfrance

19 juin 2012, 15:53

Je vous remercie pour vos réponses.
J'ai regarder la fonction empty, car apparemment c'est celle qui correspond le mieux à mon besoin:

Code : Tout sélectionner

$headers = 'From: '.$nom.' '.$prenom.' <'.$expediteur.'>'."\r\n\r\n"; /* Envoi de l'e-mail */ if (empty($nom)) { print ("Veuillez rentrer toutes les informations") } if (empty($email)) { print ("Veuillez rentrer toutes les informations") } if (empty($nation)) { print ("Veuillez rentrer toutes les informations") } if (empty($prenom)) { print ("Veuillez rentrer toutes les informations") } if (empty($telephone)) { print ("Veuillez rentrer toutes les informations") } if (empty($adresse)) { print ("Veuillez rentrer toutes les informations") } if (empty($profession)) { print ("Veuillez rentrer toutes les informations") } mail($to, $subject, utf8_decode($msg), utf8_decode ($headers)); // la fonction de redirection ------------ function redir($url){ echo "<script language=\"javascript\">"; echo "window.location='$url';"; echo "</script>"; } // Utiliser la redirection --------------- redir("http://www.monsite.com"); }?> </html>
J'ai essayé de faire un bout de code mais je dois avouer que ça fonctionne pas des masses.
Si vous avez la possibilité me donner une direction de recherche............ c cool
Bonne fin de journée :D