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 :

Utilisation valeurs if, elseif


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 12
    Par défaut Utilisation valeurs if, elseif
    Bonjour,

    J'ai un formulaire d'inscription, j'ai donc mon fichier php qui contrôle si les champs sont bien remplis. Ce que je voudrais, c'est qu'un champs soit contrôlé que si la valeur de la BDD est égale à 1:

    Par exemple, j'ai mon script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if($_POST['identifiant']=="") { ?> <div id="msg-r"><?php echo __("Vous n'avez pas indiqué votre identifiant"); ?></div> <?php }
    elseif(videntifiant($_POST['identifiant'])) { ?> <div id="msg-r"><?php echo __("L'identifiant est déjà utilisé"); ?></div> <?php }
    elseif($_POST['email']=="") { ?> <div id="msg-r"><?php echo __("Vous n'avez pas indiqué votre adresse email"); ?></div> <?php }
    elseif(!preg_match("#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#",secure($_POST['email']))) { get_msg("","r","L'adresse email n'est pas valide"); }
    elseif(vemail($_POST['email'])=="1") { ?> <div id="msg-r"><?php echo __("L'adresse email est déjà utilisé"); ?></div> <?php }
    elseif($_POST['passe']=="") { ?> <div id="msg-r"><?php echo __("Vous n'avez pas indiqué votre mot de passe"); ?></div> <?php }
    elseif($_POST['vpasse']=="") { ?> <div id="msg-r"><?php echo __("Vous n'avez pas réinscrit votre mot de passe"); ?></div> <?php }
    elseif($_POST['passe']!=$_POST['vpasse']) { ?> <div id="msg-r"><?php echo __("Vous n'avez pas indiqué les mêmes mots de passe"); ?></div> <?php }
    else {
    Ce script va donc contrôler les champs identifiant, email et passe.

    Ce que je voudrais, c'est ajouter les champs "nom" et "prénom" mais je ne souhaite pas forcément les rendre obligatoire, il faudrait qu'ils soient contrôlé que si la valeur "état" de la BDD pour ce champs est égale à 1, si elle est à 0 alors le champs ne sera pas obligatoire.

    Je ne sais pas si j'ai été bien clair, je ne vois pas du tout comment m'y prendre sachant que l'enregistrement se fait dans une table et la valeur "etat" du champs est dans une autre.

    Merci par avance

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 875
    Par défaut
    Miam un bon morceau de code peu lisible

    Il ne faut pas utiliser des elseifs dans ton cas, seulement une succession de if. De cette manière si l'uitlisateur a 4 champs non valide, il aura les 4 messages d'erreurs. Plus qu'a utiliser une variable boolenne $is_valid qui devient false a la moindre erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $is_valid=true; //pardefaut c'est valide
    if( $_POST['identifiant']=="" ) {
      $is_valid  = false;
      //message etc...
    }
    if( $_POST['email']=="" ) {
      $is_valid  = false;
      //message etc...
    }
    //etc...
    Ce que je voudrais, c'est qu'un champs soit contrôlé que si la valeur de la BDD est égale à 1
    Ca a pas grand chose a voir avec ton code, c'est un bete if sur une variable obtenu de la base de données

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 12
    Par défaut
    C'est Ok, merci, j'ai réussi à faire ce que je voulais, j'en ai baver mais c'est bon ...

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

Discussions similaires

  1. [XL-2003] utiliser valeur non disponible (#N/A) dans une formule
    Par floctc dans le forum Excel
    Réponses: 5
    Dernier message: 24/11/2009, 17h19
  2. utiliser valeur d'un MAX() comme jointure ?
    Par ctobini dans le forum Requêtes
    Réponses: 4
    Dernier message: 11/06/2008, 15h05
  3. Réponses: 8
    Dernier message: 09/04/2008, 14h00
  4. utiliser valeurs provenant de differentes feuilles
    Par luz_negra dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 14/12/2007, 23h34
  5. Réponses: 3
    Dernier message: 29/05/2006, 18h04

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