IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

[SQL] addslashes et foreach


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 141
    Par défaut [SQL] addslashes et foreach
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    <td><input name="desimg[]" size="30" /></td>
    qui est une description de chaque image envoyer qui est inserer dans SQL

    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    foreach ($_FILES['imgfile']['tmp_name'] as $key => $value) {
     
    $file_tmp=$value;
     
    $file_type = $_FILES['imgfile']['type'][$key];
    $file_name = $_FILES['imgfile']['name'][$key];
    $file_size = $_FILES['imgfile']['size'][$key];
     
    $desimg = $_POST['desimg']; C'est ici que je voudrais mettre un addslashes() mais ceci ne fonctionne pas ... 
     
    $sql  = mysql_query(" ********") or die( mysql_error());

    J'ai tester
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $desimg = addslashes($_POST['desimg']);
    mais ca ne fonctionne pas

    merci de votre aide

  2. #2
    Membre Expert

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Par défaut
    fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    echo $_POST['desimg'];
    $desimg = addslashes($_POST['desimg']); 
    echo $desimg;
    et puis poste nous l'erreur SQL que tu as.

    Voila !!

  3. #3
    Membre éclairé
    Homme Profil pro
    Responsable d'une MOE bancaire
    Inscrit en
    Juillet 2003
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Responsable d'une MOE bancaire

    Informations forums :
    Inscription : Juillet 2003
    Messages : 261
    Par défaut
    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

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 141
    Par défaut
    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.

  5. #5
    Membre Expert

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Par défaut
    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 ...

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 141
    Par défaut
    Lol vi

    sa se trouve dans une boucle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    foreach ($_FILES['imgfile']['tmp_name'] as $key => $value) {
    c'est bien sa le probleme ...
    Je fait le print_r apres je vais a la soupe

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 141
    Par défaut
    Re bonjour

    Voila le resultat de ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $desimg = addslashes($_POST['desimg']); 
    print_r($_POST['desimg']);
    resultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Array ( [0] => commentaire1 [1] => commantaire2 ) Array ( [0] => commentaire1 [1] => commantaire2 )
    Alors je ne sais pas si on peu mettre un truc comme sa

    $_FILES['imgfile']['tmp_name'] as $key as key1 => $value et rajouter $_POST[val] dedans ... avec le addslashes

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Insertion SQL avec boucles foreach
    Par vinceom92 dans le forum Langage
    Réponses: 44
    Dernier message: 12/07/2014, 19h02
  2. [Débutant] Probleme d'insertion sql dans loop FOREACH
    Par harghan dans le forum C#
    Réponses: 1
    Dernier message: 24/06/2014, 15h21
  3. [MySQL] Peu importe la taille du tableau, SQL est censé tout enregistrer(non pas foreach :D )
    Par Dermiste dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/04/2008, 01h47
  4. [PHP/SQL] foreach sur array multiples
    Par Flushovsky dans le forum Langage
    Réponses: 1
    Dernier message: 18/09/2006, 10h49
  5. Réponses: 10
    Dernier message: 25/10/2005, 16h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo