|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre actif
![]() Arnaud Inscription : décembre 2006 Messages : 871 ![]() |
Bonjour,
Une question bete, on écris comment une requete INSERT TO avec des variables $_POST ? Je sais les écrire avec des concaténations mais j'ai lu sur ce forum que c'était déconseillé... Merci Arnaud |
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 2 288 ![]() |
C'est déconseillé parce que tu risques de te retrouver avec des injections SQL.
Pour éviter ca il faut utiliser la fonction mysql_real_escape_string() sur chaque paramètre de $_POST utilisé dans ta requete. Exemple Code :
|
||
|
|
00
|
|
|
#3 |
![]() ![]() Développeuse PHP/Java Inscription : avril 2007 Messages : 3 686 ![]() |
Bonjour
Ce qui est déconseillé, c'est de mettre le contenu brut de la variable post. On ne sait jamais ce qu'un couillon mal intentionné peut écrire dans un champ text Pour éviter l'interprétation de code, tu peux utiliser une fonction comme mysql_real_escape_string, qui va ajouter des slashes un peu partout. EDIT : koo ! arrête de poster de la même chose que moi en même temps que moi ![]() Et je n'y connais pas grand-chose en regex, alors je te laisse le monopole
__________________
Modératrice PHP Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur) Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) |
|
|
00
|
|
|
#4 |
|
Membre éclairé
![]() |
mysql_real_escape_string empeche aussi les insertion genre javascript ou il faut utiliser en plus htmlentities?
|
|
|
00
|
|
|
#5 | |
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Citation:
Je vous recommande cet article : Développement web : généralités sur la sécurité. |
|
|
|
00
|
|
|
#6 | ||
|
Membre actif
![]() Arnaud Inscription : décembre 2006 Messages : 871 ![]() |
ah ok, je ne savais pas !
mais dans mon code, deja je crois que la syntaxe n'est pas bonne : Code php :
|
||
|
|
00
|
|
|
#7 |
![]() ![]() Développeuse PHP/Java Inscription : avril 2007 Messages : 3 686 ![]() |
Question : que fait la fonction presVar ?
Sinon, côté syntaxe de la requête ça a l'air correct. Je te conseille un affichage des erreurs lors de l'execution de la requête... Code php :
mysql_query($requete) or die ($requete.' : '.mysql_error());
__________________
Modératrice PHP Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur) Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) |
|
|
00
|
|
|
#8 | ||
|
Membre actif
![]() Arnaud Inscription : décembre 2006 Messages : 871 ![]() |
la fonction fais ca :
Code php :
c'est pour éviter les erreurs SQL si jamais j'ai un des champs qui est non renseigné. A moins qu'il existe une autre méthode... |
||
|
|
00
|
|
|
#9 |
|
Membre éclairé
![]() |
Tu appelle mal la fonction...maintenant que tu as changé le prototype ca marche comme ca :
Code php :
presVar($_POST,'inventaire_server_id_situation') |
|
|
00
|
|
|
#10 | ||
|
Membre actif
![]() Arnaud Inscription : décembre 2006 Messages : 871 ![]() |
c'est bizarre, sur PHPEdit, niveau coloration syntaxique, c'est comme si j'avais une erreur de syntaxe...
Code php :
|
||
|
|
00
|
|
|
#11 |
|
Membre actif
![]() Arnaud Inscription : décembre 2006 Messages : 871 ![]() |
A non, ca a laire de fonctionner en compilant...
bizarre ! merci de votre aide ! thank ! Arnaud |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com