Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/05/2008, 12h22   #1
Invité de passage
 
Inscription : avril 2008
Messages : 19
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 19
Points : 4
Points : 4
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 :
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 :
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^^
b_e_n_n est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2008, 12h55   #2
Membre du Club
 
Étudiant
Inscription : mai 2008
Messages : 56
Détails du profil
Informations personnelles :
Âge : 22
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2008
Messages : 56
Points : 46
Points : 46
Envoyer un message via MSN à Daxou31
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 ?
Daxou31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2008, 14h05   #3
Membre habitué
 
Avatar de Couz02
 
Inscription : avril 2008
Messages : 232
Détails du profil
Informations personnelles :
Âge : 22
Localisation : France

Informations forums :
Inscription : avril 2008
Messages : 232
Points : 143
Points : 143
Les noms de variables avec accents est pas terrible pour ma part mais bon si ça passe, pourquoi pas ...
Couz02 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2008, 14h20   #4
Membre du Club
 
Étudiant
Inscription : mai 2008
Messages : 56
Détails du profil
Informations personnelles :
Âge : 22
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2008
Messages : 56
Points : 46
Points : 46
Envoyer un message via MSN à Daxou31
Utilise la fonction mysql_real_escape_string() dans ta requete pour enregistrer tes données :
Code :
$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.
Daxou31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2008, 15h19   #5
Invité de passage
 
Inscription : avril 2008
Messages : 19
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 19
Points : 4
Points : 4
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 )
b_e_n_n est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2008, 21h04   #6
Membre du Club
 
Étudiant
Inscription : mai 2008
Messages : 56
Détails du profil
Informations personnelles :
Âge : 22
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2008
Messages : 56
Points : 46
Points : 46
Envoyer un message via MSN à Daxou31
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
Daxou31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h34.


 
 
 
 
Partenaires

Hébergement Web