Bonjour,

J'ai un formulaire php que je viens de terminer. maintenant j'aimerai que les données du formulaire soient stockés dans la base de données mais le problème c'est que j'ai un erreur que je n'arrive pas à résoudre.

formulaire php:

http://www.hostingpics.net/viewer.ph...formulaire.jpg

voici le code :

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
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
<!DOCTYPE html>
 <html>
  <head>
   <meta name="projet" content="projet">
   <link rel="stylesheet" href="style_projet.css">
   <title>
     Société Autolib'
   </title>
  </head>
  <body>
  <p>
  <form method="post" action="dbb.php">
 
  <label> Nom</label><br> : <input type="text" name="nom" /> <br>
  <label> Prénom</label><br> : <input type="text" name="prenom" /> <br>
  <label> Date de naissance</label><br> : <input type="text" name="date_de_naissance" /> <br>
  <label> Adresse mail</label><br> : <input type="text" name="adresse_mail" />	<br>
  <label> Mot de passe</label><br> : <input type="password" name="mot_de_passe" />	<br>
  <label> Numéro de téléphone</label><br> : <input type="text" name="numero_de_telephone" />	<br>
  <label> Numéro de carte bancaire</label><br> : <input type="text" name="numero_de_carte_bancaire" />	<br>
  <label> Nom du titulaire</label><br> : <input type="text" name="nom_du_titulaire" />	<br>
  <label> Type de carte</label><br> : <input type="text" name="type_de_carte" />	<br>
  <label> Expiration</label><br> : <input type="text" name="expiration" />	<br>
  <label> Cryptogramme</label><br> : <input type="text" name="cryptogramme" />	<br>
  <label> Pays</label><br>
	<select name="pays" id="pays">
		<optgroup label="Europe">
			<option value="allemagne">Allemagne</option>
			<option value="autriche">Autriche</option>
			<option value="espagne">Espagne</option>
			<option value="france">France</option>
			<option value="grece">Grêce</option>
			<option value="irlande">Irlande</option>
			<option value="italie">Italie</option>
			<option value="portugale">Portugale</option>
			<option value="royaume-uni">Royaume-uni</option>
		</optgroup>
		<optgroup label="Amérique">
			<option value="argentine">Argentine</option>
			<option value="bresil">Brésil</option>
			<option value="canada">Canada</option>
			<option value="etats-unis">Etats-unis</option>
			<option value="jamaique">Jamaïque</option>
			<option value="mexique">Mexique</option>
			<option value="venezuela">Venezuela</option>
		</optgroup>
		<optgroup label="Asie">
			<option value="birmanie">Birmanie</option>
			<option value="chine">Chine</option>
			<option value="inde">Inde</option>
			<option value="japon">Japon</option>
			<option value="philippines">Philippines</option>
			<option value="thailande">Thaïlande</option>
		</optgroup>
		<optgroup label="Autre">
			<option value="afrique_du_sud">Afrique du Sud</option>
			<option value="algerie">algérie</option>
			<option value="australie">Australie</option>
			<option value="maroc">Maroc</option>
			<option value="nouvelle_zelande">Nouvelle-zelande</option>
			<option value="russie">Russie</option>
			<option value="tunisie">Tunisie</option>
		</optgroup>
	</select>
 
 
 
<input type="submit" value="Valider" />
   </form>	
  </p>
 
<?php
if (empty($_POST['nom']))      // si le nombre est vide on affiche rien
{
}
else                           // si on a recu les valeurs alors on les ajoute dans la base de donnees
{
try
{    
$bdd = new PDO('mysql:host=localhost;dbname=autolib', 'root', '');      // connexion a la base de donnees
}
catch(Exception $e)
{    
    die('Erreur : '.$e->getMessage());                                   
}
 
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$date_de_naissance=$_POST['date_de_naissance'];
$adresse_mail=$_POST['adresse_mail'];
$mot_de_passe=$_POST['mot_de_passe'];
$numero_de_telephone=$_POST['numero_de_telephone'];
$numero_de_carte_bancaire=$_POST['numero_de_carte_bancaire'];
$nom_du_titulaire=$_POST['nom_du_titulaire'];
$type_de_carte=$_POST['type_de_carte'];
$expiration=$_POST['expiration'];
$cryptogramme=$_POST['cryptogramme'];
$pays=$_POST['pays'];
 
$req = $bdd->prepare('INSERT INTO base_de_donnees(nom, prenom, date_de_naissance, adresse_mail, mot_de_passe, numero_de_telephone, nom_du_titulaire,type_de_carte,expiration,cryptogramme,pays)
VALUES(:nom,:prenom,:date_de_naissance,:adresse_mail,:mot_de_passe,:numero_de_telephone,:nom_du_titulaire,:type_de_carte,:expiration,:cryptogramme,:pays)');
$req->execute(array(
 
'nom' => $nom,  
'prenom' => $prenom, 
'date_de_naissance' => $date_de_naissance,
'mot_de_passe' => $mot_de_passe,
'numero_de_telephone' => $numero_de_telephone,
'numero_de_carte_bancaire' => $numero_de_carte_bancaire,
'nom_du_titulaire' => $nom_du_titulaire,
'type_de_carte' => $type_de_carte,
'expiration' => $expiration,
'cryptogramme' => $cryptogramme,
'pays' => $pays,
));
echo 'votre compte a bien été enregistré';
}
?>
 
 
 </body>  
 </head>
il m'affiche l'erreur suivante:
Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in I:\EasyPHP-12.1\www\dbb.php on line 115
votre compte a bien été enregistré
voici ma base de données mais je doute que se soit cela le problème:

http://www.hostingpics.net/viewer.php?id=585788bdd.jpg