IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Vérifier les champs d'un formulaire


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2010
    Messages : 116
    Points : 48
    Points
    48
    Par défaut Vérifier les champs d'un formulaire
    Bonjour à tous,

    J'ai créé un petit formulaire afin de récupérer différentes informations. (J'avoue que ça ma prie un mois, j suis un peu nul en php )

    Je cherche une petite fonction qui me permette de vérifier que tous les champs sont remplis.
    J'ai fais plusieurs recherches mais j'ai l'impression que tous les solutions que j'ai trouvé ne correspondent pas à mon code.

    Si vous avez une petite idée ou une piste à travailler, c'est avec plaisir.
    Merci d'avance et très bonne journée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <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);
     
     
    $to = 'adresse@email.com';
    // 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ée :'."\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>

  2. #2
    Membre actif
    Avatar de The_Sorrow
    Homme Profil pro
    Informaticien multi-threadé
    Inscrit en
    Juin 2009
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Informaticien multi-threadé
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 119
    Points : 246
    Points
    246
    Par défaut
    Bonjour,

    pour vérifier qu'une variable existe, il faut utiliser la fonction isset(). Elle sera à utiliser sur chaque $_POST de ton formulaire.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2010
    Messages : 116
    Points : 48
    Points
    48
    Par défaut
    Merci beaucoup pour ton aide, je regarde de suite.
    De mon côté j’étais parti sur la fonction empty

  4. #4
    Membre éprouvé
    Avatar de amoiraud
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2006
    Messages : 606
    Points : 1 057
    Points
    1 057
    Par défaut
    Citation Envoyé par paikan06 Voir le message
    Merci beaucoup pour ton aide, je regarde de suite.
    De mon côté j’étais parti sur la fonction empty
    Oui utilise plutôt la fonction empty car si le formulaire est envoyé avec des champs qui ne sont pas remplit, la fonction isset renverra true

  5. #5
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    On peut aussi utiliser "trim" pour éviter qu'un champs ne soit rempli uniquement par des espaces vides.

    Ci-dessous un exemple type qui permet de garder les valeurs déjà rentrées en utilisant des variables de sessions. Les messages d'erreurs sont enregistrés dans un tableau (également dans une variable de session) pour permettre d'afficher plusieurs erreurs simultanément.
    Cet exemple est autonome, à tester dans une page séparée.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    <?php session_start();
     
    if(isset($_POST['nom'],$_POST['email'],$_POST['message'])) //Vérifie que le formulaire a été envoyé
    {
     
    	function Verif_magicquotes ($chaine)
    	{
    		if (get_magic_quotes_gpc()) $chaine = stripslashes($chaine);
     
    		return $chaine;
    	} 
     
     
    	$_SESSION['message_form'] = array();
    	$_SESSION['value_form'] = array();
     
    	$nom = trim(Verif_magicquotes($_POST['nom']));//"trim" enlève les espaces vides de début et de fin
    	$_SESSION['value_form']['nom'] = $nom;
    	if(empty($nom)) {$_SESSION['message_form'][] = 'le nom doit être rempli';}
     
    	$email = trim(Verif_magicquotes($_POST['email']));
    	$_SESSION['value_form']['email'] = $email;
    	if(empty($email )) {$_SESSION['message_form'][] = 'le mail doit être rempli';}
     
    	$message = trim(Verif_magicquotes($_POST['message']));
    	$_SESSION['value_form']['message'] = $message;
    	if(empty($message)) {$_SESSION['message_form'][] = 'le message ne doit pas être vide';}
     
    	if(count($_SESSION['message_form']) == 0)
    	  {
    	   // code d'envoi de mail ou requête d'insertion ou...
    	   //...
    	   $_SESSION['message_form'][] = 'merci de votre message';
    	   unset($_SESSION['value_form']);// efface les valeurs des champs du formulaire si tout est correct
     
    	   }
     
    	header('Location:'.$_SERVER['PHP_SELF']);
    	exit;
    }
    ?>
     
    <html>
    <div>
    <form action = "#" method="post" />
    <p>
    nom <input type = "text" name = "nom" value = "<?php if (isset($_SESSION['value_form']['nom'])) echo htmlspecialchars($_SESSION['value_form']['nom']) ?>" /><br />
     
    mail <input type = "text" name = "email" value = "<?php if (isset($_SESSION['value_form']['email'])) echo htmlspecialchars($_SESSION['value_form']['email']) ?>" /><br />
     
    message <input type = "text" name = "message" value = "<?php if (isset($_SESSION['value_form']['message'])) echo htmlspecialchars($_SESSION['value_form']['message']) ?>" /><br />
     
    <input type = "submit" value = "envoyer" />
    </p>
    </form>
    </div>
     
    <div>
    <?php if(isset($_SESSION['message_form']) && is_array($_SESSION['message_form']) && count($_SESSION['message_form']) > 0)
    {
    foreach($_SESSION['message_form'] as $value) echo '- '.$value.'<br>';
    unset($_SESSION['message_form']);
    }
    ?>
    </div>
    </html>

Discussions similaires

  1. Vérifier les champs d'un formulaire
    Par linouchka dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 27/05/2014, 21h18
  2. Vérifier les champs d'un formulaire
    Par isitien dans le forum Langage
    Réponses: 18
    Dernier message: 16/08/2011, 10h24
  3. Réponses: 4
    Dernier message: 14/11/2009, 17h27
  4. Vérifier les champs d'un formulaire
    Par Olivier Regnier dans le forum Web
    Réponses: 6
    Dernier message: 12/11/2007, 11h04
  5. [Formulaire] vérifier les champs d'un formulaire
    Par mariafan dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 28/12/2006, 19h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo