J'ai fait deux choses: enlever le debug + remplacer dans la chaine de connexion à la base "localhost" par "127.0.0.1"
Version imprimable
J'ai le message mot de passe ou utilisateur inccorect et puis j'ai un probleme avec la date il ne m'enregistre pas la bonne date dans la base de donnée
Pour la date, avez vous essayé ma réponse ? d'enregistrer année-mois-jour ?
Pour le code, la version que j'ai posté fonctionne, je l'ai essayé sur mon poste
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
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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html" charset=iso-8859-1" name="projet" content="projet"> <link rel="stylesheet" href="style_projet.css"> <title> Société Autolib' </title> </head> <body> <p> <form method="post" action="Formulaire_final.php"> <!-- formulaire --> <label> Nom</label> : <br><input type="text" name="nom" /> <br> <label> Prénom</label> : <br><input type="text" name="prenom" /> <br> Date de naissance<br> <select name="jour"> <?php for ($jour = 1 ; $jour <= 31 ; $jour++) { // affiche le jour ?> <option value="<?php echo $jour ?>"><?php echo $jour; ?></option> <?php } ?> </select> <select name="mois"> <?php for ($mois = 1 ; $mois <= 12 ; $mois++) { // affiche le mois ?> <option value="<?php echo $mois ?>"><?php echo $mois; ?></option> <?php } ?> </select> </select> <select name="annee"> <?php for ($annee = 1900 ; $annee <= 2000 ; $annee++) { ?> <option value="<?php echo $annee ?>"><?php echo $annee; ?></option> <?php } //affiche l'annee ?> </select><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> <select name="type_de_carte" id="type_de_carte"> <option value="american_express">American Express</option> <option value="maestro">Maestro</option> <option value="master_card">Master Card</option> <option value="visa">Visa</option> </select><br> Expiration<br> <label> Mois</label> <select name="mois" id="mois"> <option value="01">01</option> <option value="02">02</option> <option value="03">03</option> <option value="04">04</option> <option value="05">05</option> <option value="06">06</option> <option value="07">07</option> <option value="08">08</option> <option value="09">09</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> </select> <label> Années</label> <select name="annees" id="annees"> <option value="2013">2013</option> <option value="2014">2014</option> <option value="2015">2015</option> <option value="2016">2016</option> <option value="2017">2017</option> <option value="2018">2018</option> <option value="2019">2019</option> <option value="2020">2020</option> <option value="2021">2021</option> <option value="2022">2022</option> <option value="2023">2023</option> </select><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="cambodge">Cambodge</option> <option value="chine">Chine</option> <option value="inde">Inde</option> <option value="japon">Japon</option> <option value="laos">Laos</option> <option value="philippines">Philippines</option> <option value="thailande">Thaïlande</option> <option value="vietnam">Vietnam</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><br><br> <input type="submit" value="Enregistrer" /> </form> </p> <?php // si le nombre est vide on affiche rien if (empty($_POST['nom'])) { } // si on a recu les valeurs alors on les ajoute dans la base de donnees else { try { // Ici on se connecte à la base de données mysql $bdd = new PDO('mysql:host=127.0.0.1;dbname=autolib', 'root', ''); } catch(Exception $e) { // Lorsqu'il y a un erreur, on affiche un méssage d'erreur puis on stoppe tout die('Erreur : '.$e->getMessage()); } // Données du formulaire qui vont être stockés dans la base de données $nom=$_POST['nom']; $prenom=$_POST['prenom']; $date_de_naissance=date('d-m-Y',mktime(0, 0, 0, $_POST['mois'], $_POST['jour'], $_POST['annees'])); $adresse_mail=$_POST['adresse_mail']; $mot_de_passe=md5($_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=date("m/Y", mktime(0, 0, 0, $_POST['mois'], 1, $_POST['annees'])); $cryptogramme=$_POST['cryptogramme']; $pays=$_POST['pays']; // on ajoute les données saisies dans le formulaire d'inscription dans la table base_de_données à l'aide d'une requète préparée. $req = $bdd->prepare('INSERT INTO base_de_donnees(nom, prenom, date_de_naissance, adresse_mail, mot_de_passe, numero_de_telephone, numero_de_carte_bancaire,nom_du_titulaire,type_de_carte,expiration,cryptogramme,pays) VALUES(:nom,:prenom,:date_de_naissance,:adresse_mail,:mot_de_passe,:numero_de_telephone,:numero_de_carte_bancaire,:nom_du_titulaire,:type_de_carte,:expiration,:cryptogramme,:pays)'); $req->execute(array( 'nom' => $nom, 'prenom' => $prenom, 'date_de_naissance' => $date_de_naissance, 'adresse_mail' => $adresse_mail, 'mot_de_passe' => md5($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, )); // affichage lorsque l'incription a réussie die('votre compte a bien été enregistré,<a href="login.php">conectez vous</a>'); } ?> </body> </head>
Pour la date, il faut modifier comme je vous l'ai indiquéCode:$date_de_naissance=date('d-m-Y',mktime(0, 0, 0, $_POST['mois'], $_POST['jour'], $_POST['annees']));
remplacer par année-mois-jour
il me met tjrs la mauvaise date
Vous avez remplacé
parCode:$date_de_naissance=date('d-m-Y',mktime(0, 0, 0, $_POST['mois'], $_POST['jour'], $_POST['annees']));
(année-mois-jour) ?Code:$date_de_naissance=date('Y-m-d',mktime(0, 0, 0, $_POST['mois'], $_POST['jour'], $_POST['annees']));
oui lorsque je selectionne dans le deroulant 16/03/1993, il me met 01/01/1970 dans la bdd
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
47
48
49
50
51
52
53
54
55
56
57
58
59 <?php // si le nombre est vide on affiche rien if (empty($_POST['nom'])) { } // si on a recu les valeurs alors on les ajoute dans la base de donnees else { try { // Ici on se connecte à la base de données mysql $bdd = new PDO('mysql:host=127.0.0.1;dbname=autolib', 'root', ''); } catch(Exception $e) { // Lorsqu'il y a un erreur, on affiche un méssage d'erreur puis on stoppe tout die('Erreur : '.$e->getMessage()); } // Données du formulaire qui vont être stockés dans la base de données $nom=$_POST['nom']; $prenom=$_POST['prenom']; $date_de_naissance=date('Y-m-d',mktime(0, 0, 0, $_POST['mois'], $_POST['jour'], $_POST['annees'])); $adresse_mail=$_POST['adresse_mail']; $mot_de_passe=md5($_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=date("m/Y", mktime(0, 0, 0, $_POST['mois'], 1, $_POST['annees'])); $cryptogramme=$_POST['cryptogramme']; $pays=$_POST['pays']; // on ajoute les données saisies dans le formulaire d'inscription dans la table base_de_données à l'aide d'une requète préparée. $req = $bdd->prepare('INSERT INTO base_de_donnees(nom, prenom, date_de_naissance, adresse_mail, mot_de_passe, numero_de_telephone, numero_de_carte_bancaire,nom_du_titulaire,type_de_carte,expiration,cryptogramme,pays) VALUES(:nom,:prenom,:date_de_naissance,:adresse_mail,:mot_de_passe,:numero_de_telephone,:numero_de_carte_bancaire,:nom_du_titulaire,:type_de_carte,:expiration,:cryptogramme,:pays)'); $req->execute(array( 'nom' => $nom, 'prenom' => $prenom, 'date_de_naissance' => $date_de_naissance, 'adresse_mail' => $adresse_mail, 'mot_de_passe' => md5($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, )); // affichage lorsque l'incription a réussie die('votre compte a bien été enregistré,<a href="login.php">conectez vous</a>'); } ?>
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
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
123
124
125
126
127 <form method="post" action="Formulaire_final.php"> <!-- formulaire --> <label> Nom</label> : <br><input type="text" name="nom" /> <br> <label> Prénom</label> : <br><input type="text" name="prenom" /> <br> Date de naissance<br> <select name="jour"> <?php for ($jour = 1 ; $jour <= 31 ; $jour++) { // affiche le jour ?> <option value="<?php echo $jour ?>"><?php echo $jour; ?></option> <?php } ?> </select> <select name="mois"> <?php for ($mois = 1 ; $mois <= 12 ; $mois++) { // affiche le mois ?> <option value="<?php echo $mois ?>"><?php echo $mois; ?></option> <?php } ?> </select> </select> <select name="annee"> <?php for ($annee = 1900 ; $annee <= 2000 ; $annee++) { ?> <option value="<?php echo $annee ?>"><?php echo $annee; ?></option> <?php } //affiche l'annee ?> </select><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> <select name="type_de_carte" id="type_de_carte"> <option value="american_express">American Express</option> <option value="maestro">Maestro</option> <option value="master_card">Master Card</option> <option value="visa">Visa</option> </select><br> Expiration<br> <label> Mois</label> <select name="mois" id="mois"> <option value="01">01</option> <option value="02">02</option> <option value="03">03</option> <option value="04">04</option> <option value="05">05</option> <option value="06">06</option> <option value="07">07</option> <option value="08">08</option> <option value="09">09</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> </select> <label> Années</label> <select name="annees" id="annees"> <option value="2013">2013</option> <option value="2014">2014</option> <option value="2015">2015</option> <option value="2016">2016</option> <option value="2017">2017</option> <option value="2018">2018</option> <option value="2019">2019</option> <option value="2020">2020</option> <option value="2021">2021</option> <option value="2022">2022</option> <option value="2023">2023</option> </select><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="cambodge">Cambodge</option> <option value="chine">Chine</option> <option value="inde">Inde</option> <option value="japon">Japon</option> <option value="laos">Laos</option> <option value="philippines">Philippines</option> <option value="thailande">Thaïlande</option> <option value="vietnam">Vietnam</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><br><br> <input type="submit" value="Enregistrer" /> </form> </p>
Je ne vois pas "tout en laissant l'instruction de debug et en donnant la date obtenue."
Où est le debug ?
Où est l'exemple de date obtenue ?
Code:
1
2
3
4 //debug print "date_de_naissance:$date_de_naissance";exit; $date_de_naissance=date('Y-m-d',mktime(0, 0, 0, $_POST['mois'], $_POST['jour'], $_POST['annees']));
Citation:
Notice: Undefined variable: date_de_naissance in I:\EasyPHP-DevServer-13.1VC9\data\localweb\projects\BAC\Formulaire_final.php on line 165
date_de_naissance:
Code:
1
2
3
4 //debug print "date_de_naissance:$date_de_naissance";exit; $date_de_naissance=date('Y-m-d',mktime(0, 0, 0, $_POST['mois'], $_POST['jour'], $_POST['annees']));
Comment veux-tu afficher $date_de_naissance avant de l'initialiser ?Citation:
Notice: Undefined variable: date_de_naissance in I:\EasyPHP-DevServer-13.1VC9\data\localweb\projects\BAC\Formulaire_final.php on line 165
je ne vois pas comment faire est ce un erreur de code dans le debug?
j'ai tjrs le probleme concernant la page connexion elle ne veut pas se connecter sur la page membre.php
Avant de passer du coq à l'âne... Et pour la date, c'est bon ou pas maintenant ?