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

Langage PHP Discussion :

controle d'un formulaire


Sujet :

Langage PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 19
    Par défaut controle d'un formulaire
    bonjour a tous,
    je suis en train de faire un formulaire dans le cadre de mon stage et je souhaiterais pouvoir controler les champs obligatoires
    J'ai deja fais une premiere version en javascript mais si les controls popups sont desactivés, il y a risque que le formulaire ne soit pas verifié par le javascript..
    je vous mets ci dessous mon formulaire et le script de ma requete d'insertion dans la base de données ( corrigez moi en cas d'erreus éventuelles merci ^^)

    Form.php :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    <html>
      <head>
      </head>
     
     
      <body>
     
     
    <h2><u> <span style="Font-family:Helvetica">Demande de Devis</span></u> </h2>
    (*champs obligatoires)
    <br><br>
    <div style="width:550px;font-family:verdana; font-size:10pt">
     
     <form method="post" action="CreationDevis.php" name="formulaire" 
     onsubmit="return validation();"> 
     
     <table>
     
    *<u>Civilité</u> : 
     
    <input type="radio" name="Civilite" value="Mr" checked>Mr
    <input type="radio" name="Civilite" value="Mme">Mme
    <input type="radio" name="Civilite" value="Mlle">Mlle
    <br><br>
    *<u>Nom</u> :
    <input type="text" name="Nom"><br><br>
    *<u>Prénom </u>:
    <input type="text" name="PreNom"><br><br>
    <u>Telephone Fixe </u>: 
    <input type="text" name="TelFixe"> <br><br>
    <u>Telephone Portable</u> : <input type=text name="TelPort">
    <br><br>
    *<u>Mail</u> :
    <input type="text" name="email">
    <br><br>
    <u>Adresse</u> :
    <input type="text" name="adresse" size=50><br><br>
    <u>Code Postal</u> : <input type="text" name="CP">
    <u>Ville</u> : <input type="text" name="Ville"> <br><br>
    <u>Pays</u> : <input type="text" name="Pays"><br><br>
    <hr>
    <br>
    *<u>Vous &ecirctes</u> :<br> <input type="radio" name="RaisClient" value="Parti" checked>Un Particulier
    <input type="radio" name="RaisClient" value="Pro">Un Professionnel :  *Raison Sociale :
    <select name="RaisonSoc">
    <option value="EI">E.I</option>
    <option value="SARL">S.A.R.L</option>
    <option value="EURL">E.U.R.L</option>
    <option value="SA">S.A</option>
    <option value="ASSOC">Association</option>
    <option value="ADMIN">Administration</option>
    <option value="ProfLib">Profession Libérale</option>
    <option value="Autre">Autre...</option>
    </select>
    <br><br>
    Pour les Professions libérales et Autres précisez : 
    <input type="text" name="precis"><br><br>
    <u>Nom de la société</u> :
    <input type="text" name="NomSoc">
     
    <br><br>
    *<u>Type de projet</u> : 
    <input type="text" name="TypeProjet"><br><br>
    *<u>Sélectionnez le budget prévu pour votre projet</u> :
    <select name="budget">
    <option value="<1000"> < &agrave 1000 € </option>
    <option value="1000-2000">de 1000 &agrave 2000 €</option>
    <option value="2000-3000">de 2000 &agrave 3000 €</option>
    <option value=">3000"> > &agrave 3000 €</option>
    </select>
    <br><br>
     
    *<u>Décrivez votre projet</u> : <br><br>
     
    <textarea name="Comment">
    </textarea><br><br><br>
     
    <input type="submit" value="Envoyer">
    <input type="reset" value="Réinitialiser">
     
    </table>
    </form>
    </div>
     
      </body>
    </html>


    et le script Php d'insertion des données dans la base :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    <?
        //Connexion à la base :
          include("Connexion.php");
     
         //Exécution de la requête d'insertion des informations dans la base de données) :
          $Requête="insert into Clients values ('" . $_POST["email"] . "', ' " . $_POST["Civilite"] .
          "', '" . $_POST["Nom"] . "', '" . $_POST["PreNom"] . "', '" 
          . $_POST["TelFixe"] . "', '" . $_POST["TelPort"] . "',  '" 
           . $_POST["adresse"] . "', '" . $_POST["CP"] ."' , '" . $_POST["Ville"] . "', '"
            . $_POST["Pays"] . "' , '" . $_POST["Comment"] ."' , '" . $_POST["TypeProjet"] . "' , '" . $_POST["budget"] ." ')" ;
     
          $Résultat=mysql_query($Requête) or die(mysql_error()."\n".$Requête);
          if ($Résultat)
            {echo ("Enregistrement créé");}
           else
            {echo ("Erreur : création impossible de l enregistrement");} 
     
     
        If ($_POST["RaisClient"]=="Pro")
        {
         $Requête1="insert into Professionnel values ('" . $_POST["email"] . "', ' ". $_POST["NomSoc"] .
          "', '" . $_POST["RaisonSoc"] . "' , '" . $_POST["precis"] ." ')" ;
     
          $Résultat1=mysql_query($Requête1);
          if ($Résultat1) 
     
        {echo ("Enregistrement créé");}
           else
            {echo ("Erreur : création impossible de l enregistrement");} 
     
        }
        else
        {
        $Requête2="insert into Particulier values ('" . $_POST["email"] .  " ')" ;
     
          $Résultat2=mysql_query($Requête2);
          if ($Résultat2) 
     
        {echo ("Enregistrement créé");}
           else
            {echo ("Erreur : création impossible de l enregistrement");} 
     
     
        } 
     
         ?>

    .....merci^^

  2. #2
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 56
    Par défaut
    Il existe les balises CODE pour afficher le code et après je ne comprends pas ce que tu attends ? Qu'on te dise si tes champs sont bien vérifiés ?

  3. #3
    Membre confirmé Avatar de Couz02
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    232
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 232
    Par défaut
    Les noms de variables avec accents est pas terrible pour ma part mais bon si ça passe, pourquoi pas ...

  4. #4
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 56
    Par défaut
    Utilise la fonction mysql_real_escape_string() dans ta requete pour enregistrer tes données :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req = "INSERT INTO Clients VALUES ('" . mysql_real_escape_string($_POST["email"]) . "', ...')" ;
    Et si tu veux vérifier le contenu des champs, fais la même chose qu'en JS avec des expressions régulières.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 19
    Par défaut
    oui en fait je souhaierais pouvoir afficher un message d'erreu si les champs obligatoires ne sont pas remplis et dans le cas contraire entrer les données dans la BDD

    j'ai pas compri lutilité de cette fonction daxou

    on m'a di d'utiliser la fction grep_match mais ca marche pas tres bien (ou c'est moi ki ny arrive pas )

  6. #6
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 56
    Par défaut
    Tout est sur ces liens.
    mysql_real_escape_string permet l'echappement de caracteres et prg_match permet de matcher des expression en fonction d'une expression régulière.

    http://fr.php.net/manual/fr/function...ape-string.php

    http://fr.php.net/manual/fr/function.preg-match.php

Discussions similaires

  1. Pb pour verouillé les controles d'un formulaire (VBA)
    Par Celia1303 dans le forum Access
    Réponses: 12
    Dernier message: 24/10/2005, 12h19
  2. taille d'un controle dans un formulaire
    Par kleenex dans le forum Access
    Réponses: 6
    Dernier message: 30/09/2005, 10h41
  3. Réponses: 5
    Dernier message: 07/09/2005, 09h27
  4. [C#] Custom Control : Recuperer valeur formulaire
    Par victorbru dans le forum ASP.NET
    Réponses: 22
    Dernier message: 21/04/2005, 10h02
  5. validation d'un controle dans un formulaire
    Par marjo20 dans le forum IHM
    Réponses: 5
    Dernier message: 11/10/2004, 00h00

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