re,
je n 'ai pas bien compris à propos des '' manquants
j'ai donc mis en pièce le tbleau site_user
jel'ai configuré pour le faire fonctionner avec site_session, mais je n'en suis pas encore là;)
et un grand merci pour ton aide
Version imprimable
re,
je n 'ai pas bien compris à propos des '' manquants
j'ai donc mis en pièce le tbleau site_user
jel'ai configuré pour le faire fonctionner avec site_session, mais je n'en suis pas encore là;)
et un grand merci pour ton aide
Ok merci,
Voici ta string corrigée sur base des types de champs que tu as.
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 $insertSQL = "INSERT INTO site_user (prenom1, prenom2, nom1, nom2, email, password, username, sexe, jour, mois, rue, numrue, ville, cp, province, pays, telephone) VALUES ("; $insertSQL .= "'".mysql_real_escape_string($_POST['prenom1mem'])."','"; $insertSQL .= mysql_real_escape_string($_POST['prenom2mem'])."','"; $insertSQL .= mysql_real_escape_string($_POST['nom1mem'])."','"; $insertSQL .= mysql_real_escape_string($_POST['nom2mem'])."','"; $insertSQL .= mysql_real_escape_string($_POST['mailmembre'])."','"; $insertSQL .= mysql_real_escape_string($_POST['username'])."','"; $insertSQL .= mysql_real_escape_string($_POST['password'])."','"; $insertSQL .= mysql_real_escape_string($_POST['sexe'])."',"; $insertSQL .= mysql_real_escape_string($_POST['jourmem']).",'"; $insertSQL .= mysql_real_escape_string($_POST['moismem'])."',"; $insertSQL .= mysql_real_escape_string($_POST['anneemem']).",'"; $insertSQL .= mysql_real_escape_string($_POST['rue'])."',"; $insertSQL .= mysql_real_escape_string($_POST['numrue']).",'"; $insertSQL .= mysql_real_escape_string($_POST['ville'])."',"; $insertSQL .= mysql_real_escape_string($_POST['cp']).",'"; $insertSQL .= mysql_real_escape_string($_POST['province'])."','"; $insertSQL .= mysql_real_escape_string($_POST['pays'])."','"; $insertSQL .= mysql_real_escape_string($_POST['telephone'])."')";
explication sql:
si tu as un champ qui est de type varchar ou datetime ou text, il faut l'encadrer de ' '
Si tu as un champ de type int, il ne faut pas mettre de ' '
exemple:
prenom -> varchar(20)
age -> int(3)
Quand tu fais un insert en sql tu as:
Code:insert into table (prenom, age) values ('toto',29);
ben...
ça m'a donné çaCode:
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 <?php require_once('../Connections/mb.php'); ?> <?php $insertSQL = "INSERT INTO site_user (prenom1, prenom2, nom1, nom2, email, password, username, sexe, jour, mois, rue, numrue, ville, cp, province, pays, telephone) VALUES ("; $insertSQL .= "'".mysql_real_escape_string($_POST['prenom1mem'])."','"; $insertSQL .= mysql_real_escape_string($_POST['prenom2mem'])."','"; $insertSQL .= mysql_real_escape_string($_POST['nom1mem'])."','"; $insertSQL .= mysql_real_escape_string($_POST['nom2mem'])."','"; $insertSQL .= mysql_real_escape_string($_POST['mailmembre'])."','"; $insertSQL .= mysql_real_escape_string($_POST['username'])."','"; $insertSQL .= mysql_real_escape_string($_POST['password'])."','"; $insertSQL .= mysql_real_escape_string($_POST['sexe'])."',"; $insertSQL .= mysql_real_escape_string($_POST['jourmem']).",'"; $insertSQL .= mysql_real_escape_string($_POST['moismem'])."',"; $insertSQL .= mysql_real_escape_string($_POST['anneemem']).",'"; $insertSQL .= mysql_real_escape_string($_POST['rue'])."',"; $insertSQL .= mysql_real_escape_string($_POST['numrue']).",'"; $insertSQL .= mysql_real_escape_string($_POST['ville'])."',"; $insertSQL .= mysql_real_escape_string($_POST['cp']).",'"; $insertSQL .= mysql_real_escape_string($_POST['province'])."','"; $insertSQL .= mysql_real_escape_string($_POST['pays'])."','"; $insertSQL .= mysql_real_escape_string($_POST['telephone'])."')"; mysql_select_db($database_mb, $mb); $Result1 = mysql_query($insertSQL, $mb) or die(mysql_error()); mysql_connect("localhost", "root", "");
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''',,'',,'',,'','','')' at line 1:cry:
Ajoute
juste en dessous pour afficher la requête sur ta page et voir ce qu'il se passeCode:
1
2 echo $insertSQL."<br>";
ça donne ça direct sans ouvrir la page
INSERT INTO site_user (prenom1, prenom2, nom1, nom2, email, password, username, sexe, jour, mois, rue, numrue, ville, cp, province, pays, telephone) VALUES ('','','','','','','','',,'',,'',,'',,'','','')
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''',,'',,'',,'','','')' at line 1
Tu as oublié ceci entre ta requête, pouquoi tu l'as effacé d'ailleurs?
Code:
1
2
3
4
5
6 if((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "membre")) { }
commence à fatiguer, moi, à force de faire des copié collé :?
mais j'ai essayé avec et sans le echo que tu m'as donné
j'ai un message d'erreur de $ unexpected dans la dernière ligne de page celle du <body html>, ce qui voudrait que ça peut être n'importe laquelle. ce qui semble incompréhensible puisque j'ai tout révisé .
j'ai failli renoncer à changer le code dreamweaver.
mais je me rends compte de la lourdeur de ce code, quand je supprime la chaine pour me rediriger vers une autre page une fois l'inscrition terminée, ce truc là
mysql me dit que mes variables sont fausses. je ne comprends pas pourquoi Dw ne propose pas lors de l'enregistrement la même option que lors de la connectionCode:
1
2
3
4
5 $insertGoTo = "paiement-abonnement.php"; if (isset($_SERVER['QUERY_STRING'])) { $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?"; $insertGoTo .= $_SERVER['QUERY_STRING']; }
"en cas d'echec(notnull, par ex) que faire ?
j'ai essayé de coller un else ou un elseif à la suite mais ça me donne que des syntaxes error (ce n'est que très moyennement étonnant):oops:
bonjour,
j'ai refait ma bdd; tous champs correspondant aux balises sont en varchar et je continue à avoir le message "unexpeted $ on line..." qui est la dernière ligne de mon script, comme si toutes les variables étaient fausses alors que si je le fais par dreamweaver cela se passe bien
j'ai également utilisépour un autre script, et ça se passe très bien aussiCode:
1
2
3 mysql_select_db("inscription") ; mysql_connect("localhost", "root", "");
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 <?php mysql_select_db("inscription") ; mysql_connect("localhost", "root", ""); if((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "membre")) { $insertSQL = "INSERT INTO site_user (prenom1, prenom2, nom1, nom2, email, password, username, sexe, jour, mois, annee, rue, numrue,ville, cp, province, pays, telephone) VALUES ("; $insertSQL .= mysql_real_escape_string($_POST['prenom1mem'])."','"; $insertSQL .= mysql_real_escape_string($_POST['prenom2mem'])."','"; $insertSQL .= mysql_real_escape_string($_POST['nom1mem'])."','"; $insertSQL .= mysql_real_escape_string($_POST['nom2mem'])."','"; $insertSQL .= mysql_real_escape_string($_POST['mailmembre'])."','"; $insertSQL .= mysql_real_escape_string($_POST['password'])."','"; $insertSQL .= mysql_real_escape_string($_POST['username'])."','"; $insertSQL .= mysql_real_escape_string($_POST['sexe'])."','"; $insertSQL .= mysql_real_escape_string($_POST['jourmem'])."','"; $insertSQL .= mysql_real_escape_string($_POST['moismem'])."','"; $insertSQL .= mysql_real_escape_string($_POST['anneemem'])."','"; $insertSQL .= mysql_real_escape_string($_POST['rue'])."','"; $insertSQL .= mysql_real_escape_string($_POST['numrue'])."','"; $insertSQL .= mysql_real_escape_string($_POST['ville'])."','"; $insertSQL .= mysql_real_escape_string($_POST['cp'])."','"; $insertSQL .= mysql_real_escape_string($_POST['province'])."','"; $insertSQL .= mysql_real_escape_string($_POST['pays'])."','"; $insertSQL .= mysql_real_escape_string($_POST['telephone'])."')"; echo $insertSQL."<br>"; ?>
manquait une }
j'ai supprimé le problème erreur variable, mais rien ne s'inscrit 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 <?php mysql_connect("localhost", "root", ""); mysql_select_db("inscription") ; if((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "membre")) { $insertSQL = "INSERT INTO site_user (prenom1, prenom2, nom1, nom2, email, password, username, sexe, jour, mois, annee, rue, numrue,ville, cp, province, pays, telephone) VALUES ("; $insertSQL .= mysql_real_escape_string($_POST['prenom1mem'])."','"; $insertSQL .= mysql_real_escape_string($_POST['prenom2mem'])."','"; $insertSQL .= mysql_real_escape_string($_POST['nom1mem'])."','"; $insertSQL .= mysql_real_escape_string($_POST['nom2mem'])."','"; $insertSQL .= mysql_real_escape_string($_POST['mailmembre'])."','"; $insertSQL .= mysql_real_escape_string($_POST['password'])."','"; $insertSQL .= mysql_real_escape_string($_POST['username'])."','"; $insertSQL .= mysql_real_escape_string($_POST['sexe'])."','"; $insertSQL .= mysql_real_escape_string($_POST['jourmem'])."','"; $insertSQL .= mysql_real_escape_string($_POST['moismem'])."','"; $insertSQL .= mysql_real_escape_string($_POST['anneemem'])."','"; $insertSQL .= mysql_real_escape_string($_POST['rue'])."','"; $insertSQL .= mysql_real_escape_string($_POST['numrue'])."','"; $insertSQL .= mysql_real_escape_string($_POST['ville'])."','"; $insertSQL .= mysql_real_escape_string($_POST['cp'])."','"; $insertSQL .= mysql_real_escape_string($_POST['province'])."','"; $insertSQL .= mysql_real_escape_string($_POST['pays'])."','"; $insertSQL .= mysql_real_escape_string($_POST['telephone']); $insertSQL .= ")"; } ?>
Salut,
Peux-tu fournir le formulaire associé à ce script stp
salut,
la table bdd est comme ça :
le script est le suivantCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 id mediumint(9) Non auto_incrementactive text date datetime last_ modified timestamp ON UPDATE CURRENT_TIMESTAMP Non CURRENT_TIMESTAMP prenom1 varchar(35) prenom2 varchar(35) nom1 varchar(35) nom2 varchar(35) email varchar(50) password varchar(24) username varchar(24) sexe varchar(8) jour varchar(4) mois varchar(12) annee varchar(4) rue varchar(50) numrue varchar(8) ville varchar(70) cp varchar(8) province varchar(70) pays varchar(70) telephone varchar(20)
et le formulaire :(les champs jour/mois/annee sont vides, c'est normal, j'ai allégé;) )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 <?php mysql_connect("localhost", "root", ""); mysql_select_db("inscription") ; if((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "membre")) { $insertSQL = "INSERT INTO site_user (prenom1, prenom2, nom1, nom2, email, password, username, sexe, jour, mois, annee, rue, numrue,ville, cp, province, pays, telephone) VALUES ("; $insertSQL .= mysql_real_escape_string($_POST['prenom1mem'])."','"; $insertSQL .= mysql_real_escape_string($_POST['prenom2mem'])."','"; $insertSQL .= mysql_real_escape_string($_POST['nom1mem'])."','"; $insertSQL .= mysql_real_escape_string($_POST['nom2mem'])."','"; $insertSQL .= mysql_real_escape_string($_POST['mailmembre'])."','"; $insertSQL .= mysql_real_escape_string($_POST['password'])."','"; $insertSQL .= mysql_real_escape_string($_POST['username'])."','"; $insertSQL .= mysql_real_escape_string($_POST['sexe'])."','"; $insertSQL .= mysql_real_escape_string($_POST['jourmem'])."','"; $insertSQL .= mysql_real_escape_string($_POST['moismem'])."','"; $insertSQL .= mysql_real_escape_string($_POST['anneemem'])."','"; $insertSQL .= mysql_real_escape_string($_POST['rue'])."','"; $insertSQL .= mysql_real_escape_string($_POST['numrue'])."','"; $insertSQL .= mysql_real_escape_string($_POST['ville'])."','"; $insertSQL .= mysql_real_escape_string($_POST['cp'])."','"; $insertSQL .= mysql_real_escape_string($_POST['province'])."','"; $insertSQL .= mysql_real_escape_string($_POST['pays'])."','"; $insertSQL .= mysql_real_escape_string($_POST['telephone']); $insertSQL .= ")"; } ?>
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 <form action="<?php echo $editFormAction; ?>" id="membre" name="membre" method="POST"> <legend class="Style53">créez votre pseudo</legend> <p align="left" class="Style84 Style10"><em>Veillez a remplir les champs marqués *</em></p> <div align="left"> <p><span class="Style80">1°prénom <span class="Style84">*</span></span> <input name="prenom1mem" type="text" id="prenom1mem" /> <label for="prenom1mem"></label> <span class="Style80">2°prénom </span> <input name="prenom2mem" type="text" id="prenom2mem" /> <label for="prenom2mem"></label> <p> <span class="Style80">1°nom <span class="Style84">*</span></span> <input name="nom1mem" type="text" id="nom1mem" /> <label for="nom1mem"></label> <span class="Style80">2°nom</span> <input name="nom2mem" type="text" id="nom2mem" /> <label for="nom2mem"></label> <p> <span class="Style80">date de naissance<span class="Style84">*</span></span> <select name="jourmem" id="jourmem"> </select> <select name="moismem" id="moismem"> </select> <select name="anneemem" id="anneemem"> </select> </p> <label for="jourmem"></label> <label for="moismem"></label> <label for="anneemem"></label> <input type="hidden" name="MM_update" value="membre" /> <p align="left"><span class="Style80"> <span class="Style84">* </span> <input name="sexe" type="radio" id="homme" accesskey="1" tabindex="40" value="homme" <?php if (!(strcmp($_POST['membre'],"homme"))) {echo "checked=\"checked\"";} ?> /> <label for="homme">Homme</label> <input name="sexe" type="radio" id="femme" accesskey="0" tabindex="40" value="femme" <?php if (!(strcmp($_POST['membre'],"femme"))) {echo "checked=\"checked\"";} ?> /> <label for="femme">Femme</label> </span></p> <p align="left"><span class="Style53">adresse:</span><span class="Style80"> rue </span> <label for="rue"></label> <input type="text" name="rue" id="rue" /> <label for="rue"></label> <span class="Style80">n° </span> <input name="numrue" type="text" id="numrue" size="6" /> <label for="numrue"></label> <span class="Style80">ville </span> <input type="text" name="ville" id="ville" /> <label for="ville"></label> <span class="Style80"> cp </span> <input name="cp" type="text" id="cp" size="6" /> <label for="cp"></label> <span class="Style80"> </span></p> <p align="left"><span class="Style80">province <label for="province"></label> <input type="text" name="province" id="province" /> <label for="province"></label> pays </span> <input type="text" name="pays" id="pays" /><label for="pays"></label> </p> <p align="left"> <span class="Style80">téléphone</span> <input type="text" name="telephone" id="telephone" /> <label for="telephone"></label> </p> <p align="left"><span class="Style80">e-mail<span class="Style84">*</span> </span> <input name="mailmembre" type="text" id="mailmembre" size="30" /><label for="mailmembre"></label> <span class="Style80"> mot de passe<span class="Style84">*</span></span> <input name="password" type="password" id="password" maxlength="8" /> <label for="password"></label> </p> <p align="left"><span class="Style80">pseudo<span class="Style84">*</span></span> <input name="username" type="text" id="username" size="16" /> <label for="username"></label> </p> <p align="center"> <input name="valider" type="submit" id="valider" value="Envoyer" /> <label for="valider"></label> <input type="reset" name="annuler" id="annuler" value="annuler" /><label for="annuler"></label> </p> </div> <p align="left"> <input type="hidden" name="MM_insert" value="membre" /> </form>
malheureusement, le script que vous m'avez donné ne génère aucune inscription dans la bdd, alors que je n'ai aucun message d'erreur.
j'ai changé les variables de la database de mon script et rien n'y fait;
alors j'ai pris l'option script dreamweaver plus javascript/checkform, valider formulaire.
disons que j'ai légèrement "triché":lol: