<?php
// Tableau contenant les messages d'erreur lies a la validation de chaque 
// champ du formulaire.
// On utilisera le nom du champ comme cle du tableau
$errs = array();


// S'il s'agit du premier affichage, le bouton submit n'a pas ete presse
// il n'y a pas de validation a effectuer. Sinon $_POST["submit"] n'est pas
// vide (et contient la valeur "Enregistrer")
if (strlen($_POST["submit"]) > 0) {

    $nom = stripSlashes($_POST["nom"]);
    if (strlen($nom) == 0) 
        $errs["nom"][] = "Le nom est obligatoire";
    if (strlen($nom) > 64) 
        $errs["nom"][] = "Le nom ne doit pas exceder 64 c.";
        
    $prenom = stripSlashes($_POST["prenom"]);
    if (strlen($prenom) > 64) 
        $errs["prenom"][] = "Le prenom ne doit pas exceder 64 c.";
        
    $naissance = stripSlashes($_POST["naissance"]);
    if (strlen($naissance) == 0) {
        $errs["naissance"][] = "La date de naissance est obligatoire";
    } else if (!ereg("^([0-9]){2}/([0-9]){2}/([1-2])([0-9]){3}$", $naissance)) {
        $errs["naissance"][] = "La date de naissance n'est pas au bon format.";
    } else {
        $champsDate = explode("/", $naissance);
        if (!checkdate($champsDate[1], $champsDate[0], $champsDate[2])) {
            $errs["naissance"][] = "La date de naissance est invalide.";
        }
    }

    $email = stripSlashes($_POST["email"]);
    if (strlen($email) == 0) {
        $errs["email"][] = "L'email est obligatoire";
    } else if (!ereg("^([a-zA-Z0-9._-]*)@([a-zA-Z0-9._-]*)\.([a-zA-Z]*)$", $email)) {
        // REM: Ce test de conformite est certainement incomplet
        $errs["email"][] = "L'email n'est pas au bon format.";
    }
    
    $motDePasse = stripSlashes($_POST["motdepasse"]);
    $motDePasseVerif = stripSlashes($_POST["motdepasseverif"]);
    if (strlen($motDePasse) == 0) {
        $errs["motdepasse"][] = "Le mot de passe est obligatoire";
    } else if (strlen($motDePasseVerif) == 0) {
        $errs["motdepasse"][] = "Le mot de passe doit etre saisi 2 fois";
    } else if ($motDePasse != $motDePasseVerif) {
        $errs["motdepasse"][] = "Les 2 mots de passe saisis sont différents";
    } else if (strlen($motDePasse) < 8) {
        $errs["motdepasse"][] = "Le mot de passe doit contenir au moins 8 c.";
    }
        // Inserer validation du nom: 
    // ajouter $errs["nom"][] = "Erreur blabla" en cas d'erreur de validation

    // Inserer validation du prenom: stripSlashes($_POST["prenom"])
    // ajouter $errs["prenom"][] = "Erreur blabla" en cas d'erreur de validation

    // etc.

    if (count($errs) == 0) {
        // Les donnees du formulaires ont ete validee (pas d'erreur trouvee)
        // faire ce qui doit etre fait (envoi de mail, enregistrement en base)
        // et rediriger vers la page suivante
        // header("Location: pagesuivante.php");
        die();
    }
}
?>
<body style="font-size:12pt">
<?php
// Si des erreurs ont été trouvée, les afficher sous forme de liste
if (count($errs) > 0) {
    echo "<ul>";
    foreach ($errs as $champEnErreur => $erreursDuChamp) {
        foreach ($erreursDuChamp as $erreur) {
            echo "<li>".$erreur."</li>";
        }
    }
    echo "</ul>";
}
?>
<form method="post">
Nom: <input type="text" name="nom" /><br />
Prenom: <input type="text" name="prenom" /><br />
Date de naissance (JJ/MM/AAAA): 
   <input type="text" size="10" maxlength="10" name="naissance" /><br />
Email: <input type="text" name="email" /><br />
Mot de passe: <input type="password" name="motdepasse" /><br />
Mot de passe (verif): <input type="password" name="motdepasseverif" /><br />
<input type="submit" name="submit" value="Enregistrer" />
</form>
</body>