Champs d'erreur php

Résolu/Fermé
hestios - 25 févr. 2008 à 18:03
hestios Messages postés 1 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2008 - 26 févr. 2008 à 00:33
Bonjour, j'ai un soucis dans mon formulaire, en effet il je voudrais qu'il m'affiche les erreurs de saisie , par exemple : vous n'avez pas saisie votre email. vous n'avez pas saisie votre nom, vous n'avez pas saisie votre prénom.

Mon problème est qu'il ne m'affiche que la dernière erreur et nom l'ensemble des champs qui sont à compléter.
Par exemple si je fait ok avec tout les champs vide, au lieu de voir toutes les erreurs des champs vides, cela n'affiche que la dernière erreur de la partie php reservée aux erreurs.

Merci de l'aide. Si quelqu'un trouve le problème en ayant le courage de lire.

//début de la page

<?php

// Page : resultat.php


// initialisations
$tabMois=array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre");
$premierAffichage=TRUE;


// 1 : récupérer données envoyées par le formulaire
// controle
if (isset($_POST["control"]) AND ($_POST["control"]=="ok")) {
$premierAffichage=FALSE;
}

// nom
if (isset($_POST["nom"])) {
$nom=$_POST["nom"];
}
else {
$nom='';
}

// prénom
if (isset($_POST["prenom"])) {
$prenom=$_POST["prenom"];
}
else {
$prenom='';
}

// sexe
if (isset($_POST["sexe"])) {
$sexe=$_POST["sexe"];
}
else {
$sexe='';
}

// Date de naissance : jour / mois / annee
if (isset($_POST["jour"])) {
$jour=$_POST["jour"];
}
else {
$jour='';
}

if (isset($_POST["mois"])) {
$mois=$_POST["mois"];
}
else {
$mois='';
}

if (isset($_POST["annee"])) {
$annee=$_POST["annee"];
}
else {
$annee='';
}

// adresse
if (isset($_POST["adresse"])) {
$adresse=$_POST["adresse"];
}
else {
$adresse='';
}

// zip
if (isset($_POST["zip"])) {
$zip=$_POST["zip"];
}
else {
$zip='';
}

// ville
if (isset($_POST["ville"])) {
$ville=$_POST["ville"];
}
else {
$ville='';
}

// pays
if (isset($_POST["pays"])) {
$pays=$_POST["pays"];
}
else {
$pays='';
}

// planete
if (isset($_POST["planete"])) {
$planete=$_POST["planete"];
}
else {
$planete='';
}

// email
if (isset($_POST["email"])) {
$email=$_POST["email"];
}
else {
$email='';
}

// fixe
if (isset($_POST["fixe"])) {
$fixe=$_POST["fixe"];
}
else {
$fixe='';
}

// portable
if (isset($_POST["portable"])) {
$portable=$_POST["portable"];
}
else {
$portable='';
}

// fax
if (isset($_POST["fax"])) {
$fax=$_POST["fax"];
}
else {
$fax='';
}

// 2 : tester les champs obligatoires
$erreur='';


// nom
if ($nom=='') {
$erreur="Veuillez saisir votre nom!";
}

// prenom
if ($prenom=='') {
$erreur="Veuillez saisir votre prenom!";
}

// sexe
if ($sexe=='') {
$erreur="Veuillez saisir votre genre!";
}

// date de naissance
if (($jour=='') OR ($mois=='') OR ($annee=='')) {
$erreur.="Veuillez sélectionner votre date de naissance!";
}
else {

// date valide ?
if (!checkdate($mois, $jour, $annee)) {
$erreur.="Veuillez sélectionner une date qui existe!";
}

}
//***fin date de naissance***

// adresse
if ($adresse=='') {
$erreur="Veuillez saisir votre adresse! <br />";
}

// zip
if ($zip=='') {
$erreur="Veuillez saisir votre code postal! <br />";
}

// ville
if ($ville=='') {
$erreur="Veuillez saisir votre ville de départ! <br />";
}

// pays
if ($pays=='') {
$erreur="Veuillez saisir votre pays de départ! <br />";
}

// planete
if ($planete=='') {
$erreur="Veuillez saisir votre planète de départ! <br />";
}

// email
if ($email=='') {
$erreur="Veuillez saisir votre email! <br />";
}

// téléphone fixe
if ($fixe=='') {
$erreur="Veuillez saisir votre téléphone fixe (ou tout autre numéro principale)! <br />";
}

// 3a : si erreur ==> afficher resultat-erreur.html
if (($erreur<>'') OR ($premierAffichage)) {
?>
<html>
<head>
<title>Formulaire de réservation.</title>
</head>
<body>
<?php

if ($premierAffichage) {
?><h1>Formulaire à remplir</h1>
<p>Veuillez remplir ce formulaire</p>
<?php

}

else {
?>
<h1>ERREUR</h1>
<fieldset style="height:300px;"><p><?php echo($erreur); ?></p>
<?php

}

?></fieldset>
<form name="identite" method="post" action="resultat.php">
<fieldset>
<input type="hidden" name="control" value="ok" />
<legend>Votre identité</legend>
<label for="nom">Nom</label>*
<input type="text" name="nom" id="nom" value="<?php echo($nom); ?>" />
<br />
<label for="prenom">Prénom</label>
<input type="text" name="prenom" id="prenom" value="<?php echo($prenom); ?>" />
<br />
Votre sexe :<label for="sexe"> H</label>
<input type="radio" name="sexe" id="masculin" value="<?php echo($sexe); ?>" />
<label for="sexe">F</label>
<input type="radio" name="sexe" id="feminin" value="<?php echo($sexe); ?>" />
<br />

<label for="jour">Date de naissance</label>*
<select name="jour" id="jour">
<?php

// Boucle jours
for ($i=1; $i<32; $i++) {

if ($i==$jour) {
echo("<option value=\"$i\" selected=\"selected\">$i</option>");
}
else {
echo("<option value=\"$i\">$i</option>");
}

}


?>
</select>
<select name="mois" id="mois">
<?php

// Boucle mois
for ($i=1; $i<count($tabMois)+1; $i++) {

if ($i==$mois) {
echo("<option value=\"$i\" selected=\"selected\">".$tabMois[$i-1]."</option>");
}
else {
echo("<option value=\"$i\">".$tabMois[$i-1]."</option>");
}

}


?>
</select>
<select name="annee" id="annee">
<?php

// Boucle années
for ($i=1900; $i<2009; $i++) {

if ($i==$annee) {
echo("<option value=\"$i\" selected=\"selected\">$i</option>");
}
else {
echo("<option value=\"$i\">$i</option>");
}

}


?>
</select>
<br />
<input type="submit" name="submit" value="OK" />
<input type="reset" name="reset" value="Annuler" />
</fieldset>


<fieldset>
<legend>Coordonnées</legend>
<label for="adresse">Adresse</label>
<input type="text" name="adresse" id="adresse" value="<?php echo($adresse); ?>" />
<br />
<label for="zip">Zip</label>
<input type="text" name="zip" id="zip" value="<?php echo($zip); ?>" />
<br />
<label for="ville">Ville</label>
<input type="text" name="Ville" id="Ville" value="<?php echo($ville); ?>" />
<br />
<label for="pays">Pays</label>
<input type="text" name="pays" id="pays" value="<?php echo($pays); ?>" />
<br />
<label for="planete">Planète</label>
<input type="text" name="planete" id="planete" value="<?php echo($planete); ?>" />
<br />
<label for="email">Email</label>
<input type="text" name="email" id="email" value="<?php echo($email); ?>" />
<br />
<label for="fixe">Téléphone fixe</label>
<input type="text" name="fixe" id="fixe" value="<?php echo($fixe); ?>" />
<br />
<label for="portable">Téléphone portable</label>
<input type="text" name="portable" id="portable" value="<?php echo($portable); ?>" />
<br />
<label for="fax">Fax</label>
<input type="text" name="fax" id="fax" value="<?php echo($fax); ?>" />
<br />
</fieldset>

</form>


</body>
</html>
<?php
}
// 3b : sinon ==> afficher resultat-ok.html
else {
?>
<html>
<head>
<title>Votre identité : OK</title>
</head>
<body>
<p>Bonjour <?php echo($prenom); ?> <?php echo($nom); ?>.</p>
<p>Vous êtes né le <?php echo($jour); ?> <?php echo($tabMois[$mois-1]); ?> <?php echo($annee); ?>.</p>
<a href="identite.html">Retour</a>
</body>
</html>
<?php
}
?>

1 réponse

bibi675 Messages postés 387 Date d'inscription mardi 1 janvier 2008 Statut Membre Dernière intervention 30 décembre 2008 20
25 févr. 2008 à 18:05
Met, à chaque fois, "$erreur .=".
0
hestios Messages postés 1 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2008
26 févr. 2008 à 00:33
merci beaucoup :)
0