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

PHP & Base de données Discussion :

Contrôler / vérifier les données d'un formulaire [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de ben.IT
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 431
    Par défaut Contrôler / vérifier les données d'un formulaire
    Bonjour à tous,
    je réalise actuellement un formulaire php afin d'enregistrer les données saisies dans une base mysql.

    je souhaiterai pouvoir contrôler les données afin uniquement des données correctes soient ne soient enregistrées.

    Par exemple, je souhaiterai pouvoir vérifier les dates de naissances, que tous les champs soient impérativement remplis, que les boutons radio soient cochés etc...

    En cas de formulaire incomplet, je souhaiterai réafficher la page ou l'utilisateur a saisi ses données et pouvoir indiquer les données manquantes ou erronées, (sans perdre les données saisies correctes)
    est ce que quelqu'un sait comment contrôler les formulaires ??

    merci d'avance
    benilto

  2. #2
    Membre émérite
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Par défaut
    As tu été visité le magnifique site dont fait parti ce forum ?
    En particulier cette page :
    http://php.developpez.com/cours/?pag...ge#formulaires
    et celle la aussi :
    http://javascript.developpez.com/sources/?page=forms

    Il y en a surement d'autres qui se cachent
    Amicalement,
    Z.

  3. #3
    Membre Expert
    Avatar de Mahefasoa
    Homme Profil pro
    Manager IT
    Inscrit en
    Octobre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Manager IT

    Informations forums :
    Inscription : Octobre 2003
    Messages : 835
    Par défaut Vérification d'un formulaire
    Bonjour benilto,

    Je ne sais pas exactement par où devrais-je commencer ...

    Bref, supposons que tu as un fichier form.php qui contient ton formulaire et que l'action de ton formulaire est le même fichier form.php.

    Avant les codes HTML qui écrivent ton formulaire (<form machin truc ...) tu vérifie qi le bouton envoyer a été cliqué:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    // ...
    if(isset($_GET['bouton_envoyer'])
    {
     //le code à exécuter quand le formulaire a été envoyé ...
    }
    // ...
    Ici je suppose que tu passes tes informations par la méthode GET, mais si c'est pas le cas, tu dois mettre $_POST et non $_GET. Je suppose aussi que le nom du bouton envoyer est bouton_envoyer.

    Ensuite tu vérifies les données comme par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    //le code à exécuter quand le formulaire a été envoyé ...
    if (isset($_GET['un_champ']) //pour vérifier si un champ a été renseigné
    //...
    if(checkdate($_GET['champ_date'])) // pour vérifier que la date $_GET['champ_date'] est une date valide ...
    Et tu as de multitudes de vérifications selon tes besoins...

    En espérant de t'avoir aidé,

    Thierry

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2007
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2007
    Messages : 236

  5. #5
    Membre éclairé Avatar de ben.IT
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 431
    Par défaut
    merci pour vos réponse, le tuto de methodman225 est pas mal pour commencer ainsi que le tuyau de Mahefasoa qui consiste a vérifier si le bouton a été activer avant de vérifier les données...


    Je commence donc doucement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if(isset($_POST['bouton_envoie']))      
    {echo 'les données ont été envoyées et analysées ';		
    		if($_POST['nom']== "")  {    
            echo "<font color='#FF0000'> Le Nom DOIT être rempli :</font><BR>";
    		}
    }
    merci d'avance et merci à tous

  6. #6
    Membre éclairé Avatar de ben.IT
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 431
    Par défaut
    Je rencontre actuellement encore quelques problèmes :

    -Je voudrai que lorsque le formulaire est transmis les données correctes ne soient pas perdues, j'avais pensé au code suivant mais ca ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <TR><TH>Prenom</TH><TD> <input type="text" name="prenom" 
    maxlength="3" value= <?php echo $_POST['nom'];?> /> 3 premi&egrave;res 
    lettres du pr&eacute;nom </TD></TR>
    j'obtiens l'erreur suivante : Undefined index: nom. De plus, du cote html se retrouve dans le champs de texte.

    -Je souhaiterai m'assurer que les boutons radios ont été cochés, est ce quelqu'un sait comment faire ?

    -Je voudrais également m'assurer que le nom ne comporte uniquement que des lettres (pas de chiffres, ni accent ni caractères spéciaux), si la encore quelqu'un sait quelle fonction utiliser pour régler ce problème ?

    merci d'avance.
    benilto

  7. #7
    Membre chevronné
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Par défaut
    Normal, l'existence d'une variable que tu n'as pas défini se teste avant de l'afficher.
    Et pour ton problème de html, c'est que tu as oublié les guillemets du value.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input type="text" name="prenom" 
    maxlength="3" value="<?php if( !empty($_POST['nom']) ) echo $_POST['nom'] ?>" />
    Pour les cases à cocher, c'est le même principe, il suffit de tester si POST[x] existe et vaut y pour ajouter l'attribut checked à la balise html.

    En ce qui concerne la vérification que ta variable ne contient que des lettres, j'aurais bien dit ctype_alpha(), mais comme cette fonction dépend de la configuration des locales, mieux vaut une petite expression régulière.

    Pour ton champ prénom, par exemple.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if( preg_match('#[a-z]{3}#i', $_POST['prenom']) )
    {
        // Ok, 3 lettres 
    }

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

Discussions similaires

  1. Contrôler les données d'un formulaire SAGE i7
    Par Jinkas dans le forum Développement Windows
    Réponses: 0
    Dernier message: 27/03/2013, 12h38
  2. Vérifier les données dans sous-formulaire
    Par Paninak dans le forum IHM
    Réponses: 7
    Dernier message: 23/01/2013, 19h18
  3. Réponses: 3
    Dernier message: 12/01/2007, 17h43
  4. Réponses: 5
    Dernier message: 06/11/2005, 11h26
  5. [Struts] Interêt de typer les données d'un formulaire ?
    Par Gildas Huart dans le forum Struts 1
    Réponses: 9
    Dernier message: 21/04/2005, 16h39

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