Au début de ton script, peux-tu faire un :
Afin de voir ce qui as été transmis ?Code:var_dump('<pre>', $_POST, '</pre>');
Version imprimable
Au début de ton script, peux-tu faire un :
Afin de voir ce qui as été transmis ?Code:var_dump('<pre>', $_POST, '</pre>');
mais je vois pas ce que tu peux en tirer..Citation:
Connected successfully Merci d'avoir pris le temps de remplir ce sondage!string(5) "
"
array(0) {
}
string(6) "
" Sondage envoyé!
le problème pour moi est une histoire de format.. sachant qu'en mailto je recois les infos..
si j'envoie des machin=1 à ma base sql elle est sensé pouvoir les interpréter?
Bizarre :koi:
Refais voir ton script avec le formulaire ?
Salut
Si tu as par exemple une table de 10 champs et que tu ne souhaites insérer que 3 variables seulement, tu dois spécifier au préalable les noms des 3 champs concernés et ensuite les 3 variables à sauvegarder.
Exemple :
Je mets la variable 5 dans le champs 6
Je mets la variable 8 dans le champs 4
Je mets la variable 2 dans le champs 9
En revanche, si tu as une même table de 10 champs et que tu souhaites insérer les 10 variables associées à ces champs, tu n’es pas obligé de spécifier les champs.
C’est ce que voulait souligner Mr No.
Script php:
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 <?php $link = mysql_connect('****', '****', '*****'); if (!$link) { die('Could not connect: ' . mysql_error()); } echo 'Connected successfully'; mysql_close($link); // Rendre la base de données $$$$$$$$$, la base courante $db_selected = mysql_select_db('$$$$$$$$$', $link); if (!$db_selected) { die ('Impossible de sélectionner la base de données : ' . mysql_error()); } { ?> <html> <head> <title>Validation du sondage vendeur</title> </head> <body> <?php echo "Merci d'avoir pris le temps de remplir ce sondage!"; // création des variables $duree=$_POST['duree']; $operation=$_POST['operation']; $situe=$_POST['situe']; $moyens01=$_POST['moyens01']; $moyens02=$_POST['moyensO2']; $moyens03=$_POST['moyensO3']; $moyens04=$_POST['moyensO4']; $moyens05=$_POST['moyensO5']; $moyens06=$_POST['moyensO6']; $moyens07=$_POST['moyensO7']; $satisfait01=$_POST['satisfait01']; $satisfait02=$_POST['satisfait02']; $satisfait03=$_POST['satisfait03']; $satisfait04=$_POST['satisfait04']; $satisfait05=$_POST['satisfait05']; $satisfait06=$_POST['satisfait06']; $standing=$_POST['standing']; $prixvente=$_POST['prixvente']; $temps=$_POST['temps']; $profitable=$_POST['profitable']; $competences=$_POST['competences']; $information=$_POST['information']; $pourquoi=$_POST['pourquoi']; $suggestions=$_POST['suggestions']; $confiancea=$_POST['confiancea']; $confianceb=$_POST['confianceb']; $confiancec=$_POST['confiancec']; $confianced=$_POST['confianced']; $confiancee=$_POST['confiancee']; $dossiera=$_POST['dossiera']; $dossierb=$_POST['dossierb']; $dossierc=$_POST['dossierc']; $dossierd=$_POST['dossierd']; $dossiere=$_POST['dossiere']; $dossierf=$_POST['dossierf']; $dossierg=$_POST['dossierg']; $prixdossier=$_POST['prixdossier']; $realdossiera=$_POST['realdossiera']; $realdossierb=$_POST['realdossierb']; $realdossierc=$_POST['realdossierc']; $realdossierd=$_POST['realdossierd']; $realdossiere=$_POST['realdossiere']; $realdossierf=$_POST['realdossierf']; $prixdosint=$_POST['prixdosint']; $prixcertif=$_POST['prixcertif']; $etreinfoa=$_POST['etreinfoa']; $etreinfob=$_POST['etreinfob']; $etreinfoc=$_POST['etreinfoc']; $etreinfod=$_POST['etreinfod']; $etreinfoe=$_POST['etreinfoe']; $etreinfof=$_POST['etreinfof']; $etreinfog=$_POST['etreinfog']; $etreinfoh=$_POST['etreinfoh']; $probat=$_POST['probat']; if (!get_magic_quotes_gpc()) { $pourquoi = addslashes($pourquoi); $suggestions = addslashes($suggestions); } // Requete sur la DB $query = "insert into vendeur(duree, operation, situe, moyens01, moyens02, moyens03, moyens04, moyens05, moyens06, moyens07, satisfait01, satisfait02, satisfait03, satisfait04, satisfait05, satisfait06, standing, prixvente, temps, profitable, competences, information, pourquoi, suggestions, confiancea, confianceb, confiancec, confianced, confiancee, dossiera, dossierb, dossierc, dossierd, dossiere, dossierf, dossierg, prixdossier, realdossiera, realdossierb, realdossierc, realdossierd, realdossiere, realdossierf, prixdosint, prixcertif, etreinfoa, etreinfob, etreinfoc, etreinfod, etreinfoe, etreinfof, etreinfog, etreinfoh, probat ) values ('".$duree."', '".$operation."', '".$situe."', '".$moyens01."', '".$moyens02."', '".$moyens03."', '".$moyens04."', '".$moyens05."', '".$moyens06."', '".$moyens07."', '".$satisfait01."', '".$satisfait02."', '".$satisfait03."', '".$satisfait04."', '".$satisfait05."', '".$satisfait06."', '".$standing."', '".$prixvente."', '".$temps."', '".$profitable."', '".$competences."', '".$information."', '".$pourquoi."', '".$suggestions."', '".$confiancea."', '".$confianceb."', '".$confiancec."', '".$confianced."', '".$confiancee."', '".$dossiera."', '".$dossierb."', '".$dossierc."', '".$dossierd."', '".$dossiere."', '".$dossierf."', '".$dossierg."', '".$prixdossier."', '".$realdossiera."', '".$realdossierb."', '".$realdossierc."', '".$realdossierd."', '".$realdossiere."', '".$realdossierf."', '".$prixdosint."', '".$prixcertif."', '".$etreinfoa."', '".$etreinfob."', '".$etreinfoc."', '".$etreinfod."', '".$etreinfoe."', '".$etreinfof."', '".$etreinfog."', '".$etreinfoh."', '".$probat."' )"; $result = mysql_query($query) or die(mysql_error().'<br>'.$query); if ($result) echo $link->affected_rows.' Sondage envoyé!'; mysql_close($link); } ?> </body> <br /><form method='post' action='q_vendeur.html'><input type='submit' value='retour' /></form> </html>
script du formulaire html:
en ce qui concerne les questions/réponses du formulaire en html c'est normal ci elles n'y sont pas toutes ;) (mais il y a bien le meme nombre de questions/ variables que de champs ;) )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 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"> <head> <title>Questionnaire vendeurs</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta name="robots" content="none" /> <link rel="stylesheet" href="style.css" type="text/css" media="screen"> </head> <body onload="document.getElementById('nom').focus()"> <div class="cielbandeau"> <img src="images/bandeauciel.bmp" width="762" height="80" alt="Bandeau ciel" /> <span class="bandeau"> Intervenance </span> <span class="sousbandeau"> <strong>ESSAI1</strong> </span> </div> <div id="global"> <div id="enquet"><br /> enquête vendeurs </div> <form name="enqvend" id="" method="post" enctype="text/plain" action="q_vendeurvalid.php"> <input type="hidden" name="vendeur" value="vendeur"> <div id="corpForm"> <hr /><br /> <!-- "AA" --> <div> <p class="texte"> Vous avez entrepris de vendre un objet : </p> <p class="input"> <input type="text" name="duree" title="Depuis combien de mois ?" maxlength="6" size="8" onfocus="this.className='focus';" onblur="this.className='normal';" /><span class="texte"> depuis combien de mois ?</span> </p> </div><br /> <hr /><br /> <!-- "" --> <!-- "BA" --> <div> <p class="texte"> Cette opération est-elle : </p> <p class="input"> <input type="radio" name="operation" value="1" onfocus="this.className='focus';" onblur="this.className='normal';" /><span class="texte"> terminée ?</span><br /> <input type="radio" name="operation" value="2" onfocus="this.className='focus';" onblur="this.className='normal';" /><span class="texte"> en voie de conclusion ?</span><br /> <input type="radio" name="operation" value="3" onfocus="this.className='focus';" onblur="this.className='normal';" /><span class="texte"> en attente d'un acquéreur ?</span><br /> </p> </div><br /> <hr /><br /> <!-- "" --> <!-- "CA" --> <div> <p class="texte"> Le bien concerné était ou est situé : </p> <p class="input"> <input type="radio" name="situe" value="1" onfocus="this.className='focus';" onblur="this.className='normal';" /><span class="texte"> à Paris ?</span><br /> <input type="radio" name="situe" value="2" onfocus="this.className='focus';" onblur="this.className='normal';" /><span class="texte"> dans la région parisienne ?</span><br /> <input type="radio" name="situe" value="3" onfocus="this.className='focus';" onblur="this.className='normal';" /><span class="texte"> dans une grande ville de province ?</span><br /> <input type="radio" name="situe" value="4" onfocus="this.className='focus';" onblur="this.className='normal';" /><span class="texte"> dans une ville moyenne de province ?</span><br /> <input type="radio" name="situe" value="5" onfocus="this.className='focus';" onblur="this.className='normal';" /><span class="texte"> dans un secteur rural ?</span><br /> </p> </div><br /> <hr /><br /> <!-- "" --> <!-- "UA" --> <div> <p class="texte"> Accepteriez-vous quun professionnel réalise une étude avant ? </p> <p class="input"> <input type="radio" name="probat" value="1" onfocus="this.className='focus';" onblur="this.className='normal';" /><span class="texte"> oui</span> <input type="radio" name="probat" value="2" onfocus="this.className='focus';" onblur="this.className='normal';" /><span class="texte"> non</span> </p> </div><br /> <hr /><br /> <!-- "" --> <!-- "ENVOI" --> <div class="boutoninput"> <input type="submit" name="valid" value=" Envoyer " title="Cliquez sur ce bouton pour valider vos réponses" /> </div><br /> <hr /> <!-- "" --> <!-- "REMERCIEMENT" --> <p id="texteb"> <strong>Merci de votre collaboration</strong><br /> <a href="q_questions.html">La page suivante vous permettra de poser vos questions</a> </p> <!-- "" --> </div> </form> </div> </body> </html>
Pas du tout !!! J'insiste sur le fait qu'on n'est peut être pas obligé mais qu'il faut, moralement, éthiquement, spécifier les champs dans tous les cas.Citation:
Envoyé par alain31tl
Ok. Alors deux choses :
1) pour résoudre ton problème il faut que tu vires l'attribut enctype de ton formulaire. C'est ça qui fait que $_POST est vide.
2) Tu aurais du nous dire que tu as des messages d'erreurs. Ces messages d'erreurs sont situés dans error_log de apache. C'est un fichier très utile pour debugger tes scripts.
Quel intérêt ?Citation:
Envoyé par Mr N.
A l'inverse, n'est-il pas conseillé aussi de spécifier les seuls champs que l'on souhaite récupérer lors d'une requête au lieu d'utiliser le systématique * ?
Ma réponse est quelques postes plus haut :| http://www.developpez.net/forums/sho...6&postcount=32Citation:
Envoyé par alain31tl
C'est un autre sujet, mais oui, il est bien de ne ramèner en général que ce dont on a besoin.Citation:
Envoyé par alain31tl
Si sql ne proposait qu'une solution (champ + valeur obligatoires), je voudrais bien croire que la raison est en relation avec une "certaine" morale ou ethique, mais la seconde option (simplifiée) est pourtant fonctionnelle aussi.
enfin bon....
C'est justement parce que la forme simplifié est fonctionnelle que les seuls arguments que je peux donner sont d'ordre moral... S'il n'y avait qu'une solution, il n'y aurait pas de question à se poser, et ce presque hors-sujet n'aurait pas lieu...
alors tout dabor merci à toi grand maître de la programmation :hola::merci:Citation:
Envoyé par Mr N.
grâce à toi je n'aurais pas à m'acheter de perruque pour cause d'arrachage de cheveux ;)
et ensuite, je ne comprends pas le petit 2.
actuellement j'utilise arachnophilia pour programmer, et je transfere tout sur le serveur de free (je suis chez free) pour tester en live.
je ne sais pas consulter le log apache, j'imagine qu'il est sur le serveur free..
et je n'avais pas vu d'erreur a chacun de mes tests (sauf celles que j'ai déja mises ici)
Tu aurais du avoir des notices car tu essayais d'acceder à un index qui n'existait pas lorsque tu faisais :
C'est pas grave en soit, mais c'est problèmatique pour le développement. Il est bon de savoir si notre code produit des erreurs ou non et les notices générées permettent de nous aiguiller sur la résolution des problèmes quand il y en a.Code:$duree = $_POST['duree'];
Sinon je te suggère de ne pas tester sur un serveur en live. Installes-toi un petit wamp en local chez toi, comme ça tu auras tes messages d'erreurs et ton site seras toujours basé sur une version de ton code qui marche.
EDIT: par la meme occasion, change d'éditeur de texte ;)
je vais de ce pas m'installer wamp.
sinon tu me conseilles quel editeur à mon niveau?:mrgreen:
Je te laisse faire ton choix parmis la liste (qui date un peu) =>
http://cyberzoide.developpez.com/php4/editeurs/
Personnellement j'utilise jEdit :)
Mais le meilleur éditeur reste celui dans lequel on est à l'aise. Aussi si arachnomachin te suffit, ne change pas tes habitudes. Tu verras par toi même quand tu devras changer ;)