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érification de champ avec message erreur


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 26
    Par défaut Vérification de champ avec message erreur
    Bonjour

    J'essaie depuis 2 jours de faire un formulaire avec un contrôle sur chaque champ avec un message d'erreur distinct pour chacun d'eux.

    J'arrive à faire un contrôle pour tous les champs avec un message d'erreur mais dès que j'isole , ca ne marche plus.

    Si quelqu'un pourrais m'aider ?

    Merci

    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
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    <html>
     
    <head>
    <title>Formulaire de TEST</title>
    </head>
     
    <?php 
    //Valeurs du serveur SQL
    $host = '127.0.0.1'; 
    $user = 'root'; 
    $pass = 'admin'; 
     
     
     
    //Si l'action de validation a été faite
    if(isset($_POST["Valider"]))
    {
     
        // On récupère les valeurs du formulaire
        $societe = $_POST ['societe']; 
        $nom = $_POST['nom']; 
        $prenom = $_POST['prenom']; 
        $email = $_POST['email']; 
        $telephone = $_POST['telephone']; 
     
        //on vérifie les champs pour voir si ils ne sont pas vides
        if(empty($societe) && empty($nom) && empty($prenom) && empty($email) && empty($telephone)) {
            $alerte ='<p style="color:#ff0000;">Info manquante.</p>';
        } else{
     
            // on se connecte à la base de données
            $link=mysql_connect ($host,$user,$pass);
            if (!$link) {
                die ('Erreur de connection au serveur '.mysql_error() ) ;
            }
     
            $db=mysql_select_db('Stammtisch');
    		if (!$db) 
    		{
    			die ('Impossible de sélectionner la base de données : ' . mysql_error());
    		}
     
    		// on enregistre les valeurs
            $table=mysql_query("insert into inscriptions (societe, nom, prenom, email, telephone) values ( '$societe' , '$nom' , '$prenom' , '$email' , '$telephone');");
     
            //Si il y a une erreur
            if (!$table) {
                die('<p style="color:#ff0000;">Requête invalide :</p>' . mysql_error());
            }
            else {
                $alerte1 ='<p style="color:#ff0000;">SUCCES.</p>';
            }  
     
        }
    }
     
    ?> 
     
    <body bgcolor="#000000"> 
    <center><img border="0" src="IMAGE.jpg" width="422" height="212"></font><table border="1" width="588" cellspacing="0" cellpadding="0"><br><br>
    <form id="formulaire" action="index2.php" method="post"/>
     
     
     
       <p><font color="#FFFFFF">Société:</font><br/>
        <input name="societe" size="22" value="" type="text"/>
       </p>
     
       <p><font color="#FFFFFF">Nom:</font><br/>
        <input name="nom" size="22" value="" type="text"/>
       </p>
     
      <p><font color="#FFFFFF">Prénom:</font><br/>
       <input name="prenom" size="22" value="" type="text"/>
      </p>
     
        <p><font color="#FFFFFF">Email:</font><br/>
       <input name="email" size="22" value="" type="text"/>
      </p>
     
        <p><font color="#FFFFFF">Téléphone:</font><br/>
       <input name="telephone" size="22" value="" type="text"/>
      </p>
     
       <input name="Valider" value="Valider" type="submit"/>
       <input name="Effacer" value="Effacer" type="reset"/>
     
        <?php 
        echo $alerte;
        echo $alerte1;    
        ?>
     
    </form>
    </center>
    </body>
    </html>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Montre nous plutôt le code qui ne fonctionne pas qu'on puisse te dire ce que tu as mal écrit.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 26
    Par défaut
    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
    if (empty($_POST['societe']) ) {
            $Erreur_societe = '<p style="color:#ff0000;">Société manquante.</p>';
        } elseif 
            (empty($_POST['nom']) ) {
            $Erreur_nom = '<p style="color:#ff0000;">Nom manquant.</p>';
        } elseif 
            (empty($_POST['prenom']) ) {
            $Erreur_prenom = '<p style="color:#ff0000;">Prénom manquant.</p>';
        } elseif 
            (empty($_POST['email']) ) {
            $Erreur_email = '<p style="color:#ff0000;">Email manquante.</p>';
        } elseif 
            (empty($_POST['telephone']) ) {
            $Erreur_telephone = '<p style="color:#ff0000;">Téléphone manquant.</p>';
     
        } else{
          $alerte99 ='<p style="color:#ff0000;">SUCCES.</p>';
            }
    avec plus bas en dessous du formulaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php 
        echo $Erreur_societe;
        echo $Erreur_nom;
        echo $Erreur_prenom;
        echo $Erreur_email;
        echo $Erreur_telephone;
        echo $alerte99;    
        ?>
    J'ai bien l'affichage de "SUCCES" quand je remplis tous les champs.

    Le message d'erreur s'affiche pour chaque champ (testé aléatoirement) mais je voudrais que les message s'affiche tous.

    si je remplis rien , je veux tous les messages.

    Autre soucis ,quand je clique sur ''valider'' ca me contrôle mais ca efface les champs déjà remplis :-(

    Merci

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ton bloc if/elseif passe les instructions une par une et traite la première qui est vrai.
    Il te faut des if pour chaque cas.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 26
    Par défaut
    Ok ca fonctionne maintenant et je comprend pourquoi grâce à ton explication.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (empty($_POST['societe']) ) {
            $Erreur_societe = '<span class="erreur">Société manquante.';
        }
    Et cela à chaque champ.

    Par contre j'ai le soucis que si l'erreur s'affiche , les champs remplis s'effacent ( assez contraignant )

  6. #6
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 26
    Par défaut
    j'ai rajouter ceci dans le HTML et ca à l'air de fonctionner :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input name="societe" size="22" value="<?echo $societe?>" type="text"/><br />
        <?php echo $Erreur_societe;?>
    Sauf que maintenant , mon bouton effacer n'efface plus rien ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] Champ null message d'erreur #Taille! avec Nz
    Par SBIBobinette dans le forum VBA Access
    Réponses: 4
    Dernier message: 13/03/2014, 22h48
  2. requête sql avec message erreur
    Par wiski08000 dans le forum Débuter
    Réponses: 4
    Dernier message: 04/01/2014, 11h19
  3. [JDOM] Vérification des champs avec JDOM
    Par fruwen7 dans le forum Format d'échange (XML, JSON...)
    Réponses: 0
    Dernier message: 03/10/2012, 17h29
  4. [RegEx] Vérification du champ avec caractères arabes
    Par seksaki dans le forum Langage
    Réponses: 2
    Dernier message: 13/09/2010, 16h16
  5. Problème avec message erreur
    Par Udani dans le forum MATLAB
    Réponses: 10
    Dernier message: 21/12/2009, 06h58

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