Probléme réaffichage formulaire
Fermé
flo076
-
Modifié par flo076 le 16/11/2010 à 13:22
avion-f16 Messages postés 19250 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 22 décembre 2024 - 16 nov. 2010 à 18:06
avion-f16 Messages postés 19250 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 22 décembre 2024 - 16 nov. 2010 à 18:06
A voir également:
- Probléme réaffichage formulaire
- Formulaire de réclamation facebook - Guide
- Formulaire instagram compte suspendu - Guide
- Le formulaire rempli - Guide
- Confirmer le nouvel envoi du formulaire err_cache_miss ✓ - Forum PHP
- Formulaire remboursement frais de résiliation free pdf ✓ - Forum Freebox
1 réponse
avion-f16
Messages postés
19250
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 décembre 2024
4 505
16 nov. 2010 à 18:06
16 nov. 2010 à 18:06
Salut.
Je n'ai pas lu ton code, mais je te conseille d'utiliser des variables :
- une pour stocker le nombre d'erreurs
- une autre pour les messages d'erreur
- une dernière pour stocker les valeur par défaut des champs.
Exemple avec ces champs :
- Genre
- Nom
- Prénom
- Email
- Identifiant
- Type
- Mot de passe
- Mot de passe (vérification)
Le fichier formulaire.php :
Je n'ai pas lu ton code, mais je te conseille d'utiliser des variables :
- une pour stocker le nombre d'erreurs
- une autre pour les messages d'erreur
- une dernière pour stocker les valeur par défaut des champs.
Exemple avec ces champs :
- Genre
- Nom
- Prénom
- Identifiant
- Type
- Mot de passe
- Mot de passe (vérification)
<?php $nbErrors = 0; $msgErrors = array(); $defaultValues = array( 'genre' => 'M', 'nom' => 'Votre nom', 'prenom' => 'Votre prénom', 'email' => 'Votre adresse email (user@example.com)', 'identifiant' => 'Votre identifiant', 'type' => 'Electeur' ); // Fonction qui retourne true si l'utilisateur $identifiant // est déjà enregistré dans la table function deja_utilise($identifiant) { /*$pdo = new PDO('mysql:host=localhost;dbname=ma_base','root',''); $sql = 'SELECT COUNT(*) AS nb FROM utilisateurs WHERE identifiant='.$pdo->quote($identifiant); $req = $pdo->query($sql); $result = $req->fetch(); return ($result > 0) ? true : false;*/ return false; } if(!empty($_POST)) { // Vérification du genre if(isset($_POST['genre']) && ($_POST['genre'] == 'M' || $_POST['genre'] == 'Mme' || $_POST['genre'] == 'Mlle')) { $defaultValues['genre'] = $_POST['genre']; } else { $nbErrors++; array_push($msgErrors, 'La valeur du champ "Genre" est incorrecte'); } // Vérification du nom if(isset($_POST['nom']) && strlen($_POST['nom']) > 1) { $defaultValues['nom'] = $_POST['nom']; } else { $nbErrors++; array_push($msgErrors, 'Le champ "Nom" doit contenir au minimum 2 lettres'); } // Vérification du prénom if(isset($_POST['prenom']) && strlen($_POST['prenom']) > 1) { $defaultValues['prenom'] = $_POST['prenom']; } else { $nbErrors++; array_push($msgErrors, 'Le champ "Prénom" doit contenir au minimum 2 lettres'); } // Vérification de l'adresse email if(isset($_POST['email']) && filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) { $defaultValues['email'] = $_POST['email']; } else { $nbErrors++; array_push($msgErrors, 'L\'adresse email indiquée est invalide'); } // Vérification de l'identifiant if(isset($_POST['identifiant']) && !deja_utilise($_POST['identifiant']) && strlen($_POST['identifiant']) > 3) { $defaultValues['identifiant'] = $_POST['identifiant']; } else { $nbErrors++; array_push($msgErrors, 'L\'identifiant choisis est trop court (4 caractères min.) ou est déjà utilisé'); } // Vérification du type if(isset($_POST['type']) && ($_POST['type'] == 'Electeur' || $_POST['type'] == 'Candidat')) { $defaultValues['type'] = $_POST['type']; } else { $nbErrors++; array_push($msgErrors, 'La valeur du champ "Type" est invalide'); } // Vérification du mot de passe if(!isset($_POST['password1']) || strlen($_POST['password1']) < 4) { $nbErrors++; array_push($msgErrors, 'Le mot de passe est trop court (4 caractères min.)'); } // Concordance des mots de passe if(!isset($_POST['password2']) || $_POST['password1'] =! $_POST['password2']) { $nbErrors++; array_push($msgErrors, 'Les mots de passe entrés ne correspondent pas'); } } include 'formulaire.php'; ?>
Le fichier formulaire.php :
<?php $m_selected = ''; $mme_selected = ''; $mlle_selected = ''; if($defaultValues['genre'] == 'M') { $m_selected = ' selected="selected"'; } if($defaultValues['genre'] == 'Mme') { $mme_selected = ' selected="selected"'; } if($defaultValues['genre'] == 'Mlle') { $mlle_selected = ' selected="selected"'; } $electeur_selected = ''; $candidat_selected = ''; if($defaultValues['type'] == 'Candidat') { $candidat_selected = ' selected="selected"'; } if($defaultValues['type'] == 'Electeur') { $electeur_selected = ' selected="selected"'; } ?><form method="post" action=""> <?php if($nbErrors > 0) { echo '<div class="errors">'; foreach($msgErrors as $msg) { echo $msg.'<br />'; } echo '</div>'; } ?> <p> <label for="genre_id">Genre :</label> <select name="genre" id="genre_id"> <option value="M"<?php echo $m_selected; ?>>M</option> <option value="Mme"<?php echo $mme_selected; ?>>Mme</option> <option value="Mlle"<?php echo $mlle_selected; ?>>Mlle</option> </select> </p> <p> <label for="nom_id">Nom :</label> <input type="text" name="nom" id="nom_id" value="<?php echo $defaultValues['nom']; ?>" /> </p> <p> <label for="prenom_id">Prénom :</label> <input type="text" name="prenom" id="prenom_id" value="<?php echo $defaultValues['prenom']; ?>" /> </p> <p> <label for="email_id">Email :</label> <input type="text" name="email" id="email_id" value="<?php echo $defaultValues['email']; ?>" /> </p> <p> <label for="identifiant_id">Identifiant :</label> <input type="text" name="identifiant" id="identifiant_id" value="<?php echo $defaultValues['identifiant']; ?>" /> </p> <p> <label for="type_id">Type :</label> <select name="type" id="type_id"> <option value="Electeur"<?php echo $electeur_selected; ?>>Electeur</option> <option value="Candidat"<?php echo $candidat_selected; ?>>Candidat</option> </select> </p> <p> <label for="password1_id">Mot de passe :</label> <input type="password" name="password1" id="password1_id" /> </p> <p> <label for="password2_id">Mot de passe (vérification) :</label> <input type="password" name="password2" id="password2_id" /> </p> <p> <input type="submit" value="Envoyer" /> </p> </form>