salut les amis stp je suis nouveau dans le domaine! en effet j'ai un petit soucis, je veux verifier mon formulaire d'inscription avant l'envoi dans la base de donnée!!

si c'est possible de le faire avec les classes aussi alors comment m'y prendre? (j'ai des notions en POO)

VOICI MES DIFFERENTES PAGES "formulaire.php" et "traitement.php"

<fieldset align="center"><b> INSCRIPTION </b></fieldset>
    <form method="POST" action="traitementForm.php">
        <div class="form-group">
            <label class="col-sm-4">Nom</label>
                <div class="col-sm-8">
                    <input type="text" name="nomUser" placeholder="Entrer votre nom svp!" required="required"/>
                </div>
        </div>
        <div class="form-group">
            <label class="col-sm-4">Prenom</label>
                <div class="col-sm-8">
                    <input type="text" name="prenomUser" placeholder="Entrer votre prenom svp!" required="required"/>
                </div>
        </div>
        <div class="form-group">
            <label class="col-sm-4">Date de naissance</label>
                <div class="col-sm-8">
                    <input type="date" name="dateNaiss">
                </div>
        </div>

        <div class="form-group">
            <label class="col-sm-4">E-mail</label>
                <div class="col-sm-8">
                    <input type="email" name="emailUser">
                </div>
        </div>
        <div class="form-group">
            <label class="col-sm-4">Password</label>
                <div class="col-sm-8">
                    <input type="password" name="passwordUser">
                </div>
        </div>
        <div class="form-group">
            <label class="col-sm-4">Retaper le Password</label>
                <div class="col-sm-8">
                    <input type="password" name="passwordUserVerif">
                </div>
        </div>
        <div class="col-sm-6">
            <input type="submit" name="validation" value="Valider">
        </div>
        <div class="col-sm-6">
            <input type="Reset" name="annulation" value="Annuler">
        </div>
    </form>

// VOICI MA PAGE DE TRAITEMENT

<?php
    //  CONNECTION A LA BASE DE DONNEE ...
    $connect = new PDO('mysql:host=localhost;dbname=bdformulaire', "root", "");

    // Fin de la connexion.

    //Etablissement de la requette

    $req=$connect -> query ("INSERT INTO user (nom, prenom, dateNaiss, email, password, verifPassword) VALUES ('".$_POST['nomUser']."','".$_POST['prenomUser']."','".$_POST['dateNaiss']."','".$_POST['emailUser']."','".$_POST['passwordUser']."','".$_POST['passwordUserVerif']."')");
    ?>

3 réponses


Laznet
Réponse acceptée

Bonjour,

Quand tu parles de vérifier ton formulaire, je suppose que tu parles de tester si les formulaires on été rempli, si l'e-mail à été renseigné correctement etc...
Donc pour cela tu peux utiliser un ensemble de possibilités :
Déjà ce que tu peux faire c'est créer un tableau "errors" :

$errors = array();

Qui au début est vide, et qui se rempli à chaque fois que le code rencontre une erreur :

//Si Le mot de passe et la confirmation sont différents :
$errors['password'] = "Les mots de passe ne correspondent pas";

Et ce à chaque fois, ensuite pour tester par exemple si l'e-mail est correct tu peux utiliser les FILTER :

//Si la vérification d'e-mail échoue (false) cela veut dire que l'e-mail n'est pas correct, donc là on peut remplir notre tableau : 
if(!filter_var($email, FILTER_VALIDATE_EMAIL){
    $errors['email'] = "L'e-mail n'est pas valide.";
}

Pour finir,
si à la fin de ton code le tableau est vide, cela veut dire que tu n'as pas rencontré d'erreur et que le script peut se poursuivre, et donc lancer la requête :D. Pour le reste des vérifications tu ne devrais pas à avoir trop de mal (c'est de la simple comparaison par exemple pour tester le nombre de caractère du pseudo etc...).

Donc pour tester si tout s'est bien déroulé :

//Si le tableau des erreurs n'est pas vide, il y a eu des erreurs, dans ce cas on les affiches avec un foreach, sinon on continu  l'exécution du code.
if(!empty($errors)){
  //Il y eu des erreurs, nous devons donc les affichers 
  avec un foreach :
} else {
    //Sinon on exécute le reste du code :D
}

Voilà, voilà logiqument avec tout ça tu devrais pouvoir vérifier l'ensemble de ton formulaire en n'oubliant évidemment pas de tester les données qui te sont envoyé avec un htmlspecialchars :D pour toujours plus de sécurité :D.

merci mika!
j'y suis maintenant

Attention ! Tu risques de rencontrer des erreurs dans ton code, j'ai par exemple oublié quelques parenthèse.. donc fais gaffe si tu copie-colle le code ^^.