Parse error dans code PHP/MySQL correct - PHP - Programmation
Marsh Posté le 08-11-2006 à 15:51:47
ça gène ?
apparement non, je l'ai supprimé, aucune différence.
Marsh Posté le 08-11-2006 à 15:57:50
Alors déja ca ne se fait pas de définir des $_POST ... et encore moins les utiliser dans une requete mysql !!!
Il faut que tu les enregistres dans des vrai variables ($nom = $_POST['nom']; ...) et que tu remplaces les moches $_POST['xxx'] de ta requete par les nouvelles variables !
Deuzio pour déclarer tes variables je te conseille de faire ca :
$nom = $idee1 = $idee2 = $idee3 = $row = '';
Enfin il vaut mieux déclarer $valid comme nombre et non pas comme une chaine de caractère en supprimant les '' :
$valid = 0;
EDIT : Pour vider les $_POST, au lieu de faire ton truc tout moche, fais un $_POST = array();
Marsh Posté le 08-11-2006 à 16:00:40
J'vais essayer tout ça et j'vous dit quoi !
Merci à vous, j'débute ^^
Marsh Posté le 08-11-2006 à 16:01:22
"INSERT INTO stnic VALUES (".$_POST['nom'].",".$_POST['idee1'].",".$_POST['idee2'].",".$_POST['idee3'].",".$_POST['valid']." )"
Marsh Posté le 08-11-2006 à 16:03:10
chani_t a écrit : "INSERT INTO stnic VALUES (".$_POST['nom'].",".$_POST['idee1'].",".$_POST['idee2'].",".$_POST['idee3'].",".$_POST['valid']." )" |
Ca marchera mais je trouve ca moche ^^ et dans ce cas mieux vaut utiliser les simples quotes :
INSERT INTO stnic VALUES ('.$_POST['nom'].','.$_POST['idee1'].','.$_POST['idee2'].','.$_POST['idee3'].','.$_POST['valid'].')
Marsh Posté le 08-11-2006 à 16:07:30
ba c'était histoire qu'il ne revois pas tous sont code ... dans tous les cas je ne mettrais pas les données du post directement en base de données... c'est trop facile de soumettre des données non conforme.
Marsh Posté le 08-11-2006 à 16:08:22
chani_t a écrit : ba c'était histoire qu'il ne revois pas tous sont code ... dans tous les cas je ne mettrais pas les données du post directement en base de données... c'est trop facile de soumettre des données non conforme. |
Oui c'est sur que ca sent mauvais l'injection SQL
Marsh Posté le 08-11-2006 à 16:09:40
Le code est suffitsemment court pour le modifier
J'ai fait ce que tu as dit, le formulaire passe nickel, mais le sinfos ne vont pas jusqu'a la bdd, et j'ai maintenant une autre erreur.
J'ai édité le premier message avec la nouvelle erreur et le nouveau code.
Et j'ai laissé tomber l'idée du valid, je verrai pour le remettre apres. restons simple.
Le but du script et qu'un tableau avec toutes le sidées cadeau apparaissent... je crois que je dois créer une boucle à la fin genre foreach(){} mais je suis pas super bon
EDIT : Oops j'suis con j'ai laissé valid dans le query.
Ban bah je l'ai enlevé, le tablea s'affiche, mais les infos du formulaire ne vont aps dans la base de données, c'est le seul probleme restant.
Marsh Posté le 08-11-2006 à 16:24:22
Code :
|
voila ce que je ferais.
Marsh Posté le 08-11-2006 à 16:27:57
De toute facon, il n'y a plus de problemes au niveau du tablea, aps besoin de ton machin "MYSQL_ASSOC"
Le probleme est que le formulaire à l'air de marcher normalement, mais les données n'entrent pas dans la bdd
Marsh Posté le 08-11-2006 à 16:29:58
Code :
|
pour la 1er requête
Marsh Posté le 08-11-2006 à 16:31:47
kwaio a écrit : ... aps besoin de ton machin "MYSQL_ASSOC" |
c'est juste plus joli... en effet tu récupére un tableau associatif au lieu de récupérer un tableau simple.
Marsh Posté le 08-11-2006 à 16:34:14
Je n'ai plus de problemes au niveau du tableau, mais le formulaire ne veut pas inscrire dans la base de donnée et je n'ai plus d'erreurs annoncées...
je met à jour mon code dans le 1er message.
j'ai du oublier un truc avec "stnic" à la ligne 47, non ?
(ps : une urgence, je reviens vers 18h )
Marsh Posté le 08-11-2006 à 16:50:21
Code :
|
Et je modifierais aussi la ligne : 25...
en effet, tu n'as pas modifié la ligne 47..
Marsh Posté le 08-11-2006 à 17:55:57
J'ai changé la ligne 25 : aucune erreur signalée.
Mais je ne comprends pas, je suis censé l'organiser comment la ligne 47 ? Où est le probleme ?
EDIT : AH ! ne dois-je pas rajouter "$execution;" apres la ligne 47 ?
Marsh Posté le 08-11-2006 à 17:59:42
je te l'ais déjà donné.. plus haut.... $execution = mysql_query($requete, $connect);
Marsh Posté le 08-11-2006 à 18:08:55
J'suis désolé de vous donner du mal, mais ya pas moyen, les données ne sont pas envoyées vers la base de donnée.
J'ai pourtant tout vérifié...
je remet le code à jour dnas le premier message.
J'ai fait un test.
Code :
|
Ceci retourne bien le "ok" mais les infos ne sont pas dans la BDD.
Celà aide t il à cerner le probleme ?
Marsh Posté le 08-11-2006 à 18:18:26
Merci pour la ligne 25, j'avais pas vu le $connect, c'est modifié.
PAr contre, la ligne 47 est exactement comme tu me l'a donnée
et ça ne marche pas ^^
Marsh Posté le 08-11-2006 à 18:22:44
A mon avis c'est un soucis de Values.. regarde de plus prés la doc...
Marsh Posté le 08-11-2006 à 18:24:48
J'dois vraiment être chiant, mais je n'ai pas compris ton message...
Marsh Posté le 08-11-2006 à 18:28:36
Ok ça marche j'ai trouvé le probleme.
QUestions de ; avant le "
merci beaucoup
Marsh Posté le 08-11-2006 à 18:33:12
Juste une petite question théorique.
Je ne me rapelle plus, comment fait on pour qu'une requete PHP"erronée" n'emete pas de phrase d'erreur ?
quel bouricot, j'ai trouvé tout seul... le @
Marsh Posté le 08-11-2006 à 19:10:43
chani_t a écrit : "INSERT INTO stnic VALUES (".$_POST['nom'].",".$_POST['idee1'].",".$_POST['idee2'].",".$_POST['idee3'].",".$_POST['valid']." )" |
Hmmmmm la sécurité
Marsh Posté le 09-11-2006 à 08:39:23
kwaio a écrit : Juste une petite question théorique. |
vi ou mieux, aus lieu de les taires, tu les redirige vers un fichier de log, ou vers ton email, tout en empéchant qu'elles apparaissent (ini_set('display_errors', false); etc..)
Et encore une fois.. vérifie ce que tu reçois de ton formulaire avant de l'insérer dans ta base de données.
Marsh Posté le 09-11-2006 à 08:55:15
FlorentG a écrit : Hmmmmm la sécurité |
ce qui n'a quand même strictement rien à voir avec le fait d'utiliser la variable en direct ou de l'assigner avant, il faut le préciser
Marsh Posté le 08-11-2006 à 15:49:40
Bonjour à tous.
Je m'essaie à la programmation php/mysql.
J'ai décidé de créer un script simple ou une perosnne pourrait donner des idées de cadeaus
La page est donc constituée du formulaire et ensuite du tablerau des resultats.
Ne faites pas attention à tout ce qui va avec "valid" sauf si l'erreur vien de là.
En effet, j'obtiens :
[Plus d'erreurs]
Voilà, si vous voyez le probleme...
Message édité par kwaio le 08-11-2006 à 18:09:31