Problème code PHP insertion données form dans DB - PHP - Programmation
Marsh Posté le 10-06-2010 à 15:29:44
Vue le mode d'insertion, je parie $100 que ça coince du fait qu'il n'a pas échappé certains caractères (l'apostrophe, par ex ou les guillemets)
edit : _k a o s_, attention aux sql injections!
Marsh Posté le 10-06-2010 à 15:30:01
Nan pas d'erreur, mais ça ajoute rien dans ma db
Marsh Posté le 10-06-2010 à 15:30:57
rufo a écrit : Vue le mode d'insertion, je parie $100 que ça coince du fait qu'il n'a pas échappé certains caractères (l'apostrophe, par ex ou les guillemets) |
Quels apostrophes/guillemets? :s
Marsh Posté le 10-06-2010 à 15:32:16
ben en même temps, si tu récupères pas l'erreur provenant de mysql_query(), tu risques pas de voir les erreurs remontées par mysql 10 contre 1 qu'il va te mettre un syntax error dans la requête sql que tu tentes de lui faire avaler...
Marsh Posté le 10-06-2010 à 15:35:45
_k a o s_ a écrit : |
à ton avis, tes variables php que t'as mises dans ta requête sql, y'a de bonnes chances qu'elles contiennent des apostrophes/guillemets. Donc ta requête "INSERT INTO `promos` VALUES ('$titre', '$description', '$nom_fichier')" va avoir un petit soucis d'interprétation
Si tu mets dans $titre ça : Je n'y suis pour "rien", n'est-ce pas?... Comment tu crois que php ou mysql vont réagir au moment où $titre va être replacée par son contenu?
Marsh Posté le 10-06-2010 à 15:39:06
Ah ouai pas bête =S
Comment je peut contourner ce problème?
Pour les SQL injections j'essaierai de m'occuper de la sécu une fois que ça marchera
edit: cela dit j'ai mis un password avec session pour accéder à la page d'ajout (on peut pas y aller sans passer par le login)
Marsh Posté le 10-06-2010 à 15:46:50
_k a o s_ a écrit : Nan pas d'erreur, mais ça ajoute rien dans ma db |
faut faire un "or die(mysql_error());" apres ton mysql_query
Marsh Posté le 10-06-2010 à 15:49:31
Il me renvoie ça...
Code :
|
Marsh Posté le 10-06-2010 à 15:52:27
Tu peux utiliser cette syntaxe :
Code :
|
Comme dis, attention à "nettoyer" tes chaines (guillements, html, etc...) avant de les insérer
Marsh Posté le 10-06-2010 à 15:56:07
_k a o s_ a écrit : Il me renvoie ça...
|
c'est parce que avec ta syntax VALUE il attend l'id aussi, faudrais soit faire
Code :
|
soit
Code :
|
ou mieux ce que dis SICKofitALL
Marsh Posté le 10-06-2010 à 15:59:44
Exact, avec ta syntaxe ça fonctionne SICKofitALL
Je me renseigne pour le nettoyage des chaînes
Marsh Posté le 10-06-2010 à 16:15:57
tu peux commencer par jeter un oeil sur les fonctions mysql_real_escape_string et strip_tags par exemple
Marsh Posté le 10-06-2010 à 16:19:59
Ok merci pour l'indication
Marsh Posté le 10-06-2010 à 17:16:13
j'ai encore un soucis
J'ai codé l'affichage de la table SQL dans ma page promotions, mais j'ai le champ description qui ne s'affiche pas
Voilà le code:
Code :
|
Merci pour votre aide
Marsh Posté le 10-06-2010 à 17:22:13
normale t'as fais une faute a "description"
je te conseil de bosser en erreur : E_ALL | E_STRICT
Marsh Posté le 10-06-2010 à 17:43:20
C'est bon merci
Marsh Posté le 11-06-2010 à 09:41:14
Et merci d'apprendre le html avant le php Remplace ce bout de code
Code :
|
par
Code :
|
Marsh Posté le 10-06-2010 à 15:24:04
Je poste pour demander un peu d'aide, je vais devenir fou si ça continue
Je cherche à entrer les données d'un simple formulaire dans une base de données pour permettre à un collègue d'ajouter des promotions sur son site.
Voici ce que j'ai fait:
formulaire:
ajout_promo.php
Table dans la DB:
http://img191.imageshack.us/img191/4836/tablex.jpg
Merci d'avance pour toute aide
---------------
Best dressed chicken in town