|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : août 2006 Messages : 144 ![]() |
Bonjour,
voici mon probleme J'ai un script d'upload multiple d'image qui marche bien. dans le formulaire j'ai un champs description Code :
<td><input name="desimg[]" size="30" /></td> mais le probleme viens au moment ou l'on met un ' ... sa deconne ! alors je voulais traiter la chaine mais j'ai du mal car avec le foreach sa ne fonctionne pas ... voici le code Code :
J'ai tester Code :
$desimg = addslashes($_POST['desimg']); merci de votre aide |
||
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé
![]() Maxime PasquierExpert PHP Inscription : novembre 2004 Messages : 2 126 ![]() |
fait :
Code :
Voila !!
__________________
Pour une bien meilleur lisibilité, utilisez la balise [code], c'est le [#] dans votre éditeur. Mon espace Développez : mes Créations. Rencontre & Carte des Membres de Developpez.com, version 3.0 |
||
|
|
00
|
|
|
#3 |
|
Membre actif
![]() Inscription : juillet 2003 Messages : 257 ![]() |
bonjour,
j'avais exactement le meme problème et la seule solution que j'avais trouvé est de mettre magic_quotes_gpc à off dans le php.ini d'ailleurs magic_quotes_gpc = off est quelque chose de conseillé si j'ai bien compris. mais par contre il faut appeller je ne sais pas quelle fonction pour se proteger du nom du fichier dans ton script. on attendra les autres reponses pour savoir laquelle, mais en attendant tu peux deja essayé ce que je t'ai dis pour savoir si ca marche Bon courage |
|
|
00
|
|
|
#4 |
|
Candidat au titre de Membre du Club
![]() Inscription : août 2006 Messages : 144 ![]() |
Bojour,
J'ai fait ce que tu a demander voici le resultat et dans le champs description de sql j'ai une seule letre alors que j'ai mi du texte (avec ' pour tester) ps : Des que l'enleve addslashes sans mettre de ' dans mon champs input sa marche tres bien, dans sql la descption est entiere. |
|
|
00
|
|
|
#5 |
|
Expert Confirmé
![]() Maxime PasquierExpert PHP Inscription : novembre 2004 Messages : 2 126 ![]() |
lol ... si tu as array, c'est que c'est un tableau
donc fait print_r($_POST['desimg']); pour voir ce qui t'interesse dedans ...
__________________
Pour une bien meilleur lisibilité, utilisez la balise [code], c'est le [#] dans votre éditeur. Mon espace Développez : mes Créations. Rencontre & Carte des Membres de Developpez.com, version 3.0 |
|
|
00
|
|
|
#6 |
|
Candidat au titre de Membre du Club
![]() Inscription : août 2006 Messages : 144 ![]() |
Lol vi
sa se trouve dans une boucle Code :
foreach ($_FILES['imgfile']['tmp_name'] as $key => $value) { Je fait le print_r apres je vais a la soupe |
|
|
00
|
|
|
#7 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : août 2006 Messages : 144 ![]() |
Re bonjour
Voila le resultat de ce code Code :
Code :
Array ( [0] => commentaire1 [1] => commantaire2 ) Array ( [0] => commentaire1 [1] => commantaire2 ) $_FILES['imgfile']['tmp_name'] as $key as key1 => $value et rajouter $_POST[val] dedans ... avec le addslashes |
||
|
|
00
|
|
|
#8 | ||
|
Membre chevronné
![]() Inscription : février 2005 Messages : 671 ![]() |
Question surement un peu bete mais pourquoi ne fais tu pas :
Code :
cadou |
||
|
|
00
|
|
|
#9 | |
|
Membre actif
![]() Inscription : juillet 2003 Messages : 257 ![]() |
Citation:
Code :
$desimg = addslashes($_POST['desimg']); Code :
$desimg = addslashes($_POST['desimg'][$key]); |
|
|
|
00
|
|
|
#10 |
|
Candidat au titre de Membre du Club
![]() Inscription : août 2006 Messages : 144 ![]() |
Code :
$desimg = addslashes($_POST['desimg'][$key]); dans mon input je met un texte et quand je regarde j'ai que une seule lettre dans SQL dans la description de l'image .... :s sinon j'ai po d'autre erreur mais sa me tronque encore la chaine .... en faite je sais pas mais est-ce possible de mettre $_POST et $_FILES dans le meme foreach ? |
|
|
00
|
|
|
#11 |
|
Membre actif
![]() Inscription : juillet 2003 Messages : 257 ![]() |
tu sais quoi, donne moi le code de ton fichier où il y a les champs "input" comme ca je peux tester ici avant de poster le nouveau message
|
|
|
00
|
|
|
#12 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : août 2006 Messages : 144 ![]() |
voila le formulaire :
Code :
|
||
|
|
00
|
|
|
#13 | |||
|
Membre actif
![]() Inscription : juillet 2003 Messages : 257 ![]() |
j'ai essayé ton code en faisant ca
Code :
Citation:
|
|||
|
|
00
|
|
|
#14 |
|
Candidat au titre de Membre du Club
![]() Inscription : août 2006 Messages : 144 ![]() |
Je comprend pas
Je viens de faire comme toi j'ai pas de message d'erreur a l'instertion dans SQL mais jai qu'un lettre dans la table :s et quand j'enleve le [key] j'ai un message d'erreur ... Code :
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 'comment ' 1', section = 'album', nom_image ='jpg', id_auteur =' |
|
|
00
|
|
|
#15 |
|
Candidat au titre de Membre du Club
![]() Inscription : août 2006 Messages : 144 ![]() |
voic une impression ecran de ce que j'ai dans SQL les lettre o, c , m devrai etre : com ' test
|
|
|
00
|
|
|
#16 |
|
Membre actif
![]() Inscription : juillet 2003 Messages : 257 ![]() |
premierement tu ne peux pas et tu ne dois pas enlever [$key] car sinon tu vas te trouver avec un tableau et non pas une chaine de caractere.
deuxiement et si ca qui est important, le probleme chez toi ne se situe pas dans la recuperation d'une chaine avec des apostrophes par l'intermidiaire de $_FILE mais dans son insertion dans la BDD : ca veut dire qu'on est depuis quelques messages entrain de traiter un problème qui n'existe pas...!! montre nous ta requete sql? |
|
|
00
|
|
|
#17 |
|
Expert Confirmé
![]() Maxime PasquierExpert PHP Inscription : novembre 2004 Messages : 2 126 ![]() |
+1, il faut qu'on voit ta requete SQL formée !!
__________________
Pour une bien meilleur lisibilité, utilisez la balise [code], c'est le [#] dans votre éditeur. Mon espace Développez : mes Créations. Rencontre & Carte des Membres de Developpez.com, version 3.0 |
|
|
00
|
|
|
#18 |
|
Candidat au titre de Membre du Club
![]() Inscription : août 2006 Messages : 144 ![]() |
Re bonjour,
Voici ma requete Code :
$sql = mysql_query(" INSERT INTO image SET description = '$desimg[$key]', section = '$section', nom_image ='$file_ext', id_auteur ='$id_auteur', rubrique = '$rubrique' ") or die( mysql_error()); |
|
|
00
|
|
|
#19 |
|
Expert Confirmé
![]() Maxime PasquierExpert PHP Inscription : novembre 2004 Messages : 2 126 ![]() |
un coup tu fais $desimg = $_POST['desimg'][$key]; et un autre $desimg[$key]
NON !! Si tu la stockes une fois dans $desimg, tu mets $desimg dans ta requete, oki ? ou alors tu fais ton addslashes sur $desimg[$key] juste avant l'insertion dans la requete SQL.
__________________
Pour une bien meilleur lisibilité, utilisez la balise [code], c'est le [#] dans votre éditeur. Mon espace Développez : mes Créations. Rencontre & Carte des Membres de Developpez.com, version 3.0 |
|
|
00
|
|
|
#20 |
|
Membre actif
![]() Inscription : juillet 2003 Messages : 257 ![]() |
tu m'etonnes que ta requete ne fonctionne pas!! ou 'est ce que t'as trouvé ca : insert into XXX set! sans parler de toutes les apostrophes dans ta requete
Conseil ou plutot methode de travail : avant d'appeller mysql_query, fais tjs un echo de ta requete et essaye de l'executer à la main su la base de données (crois moi tu economiseras des heures à chercher les problèmes la où il y en a pas) Bon courage |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com