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 :

Insertion lorsque le texte comporte des guillemets [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Insertion lorsque le texte comporte des guillemets
    Hello tout le monde!

    J'ai un problème avec l'insertion de texte dans une base MySql.
    La personne doit remplir un formulaire et l'envoyer je récupère le texte et quand je l'insère dans ma base de donnée il ne s'ajoute tout simplement pas quand le texte contient des guillmet.

    J'ai essayé avec le addslashes mais ça ne marche pas...

    est ce que quelqu'un à déja rencontré ce problème ?

    merci de votre réponse !

  2. #2
    Membre éprouvé Avatar de sharrascript
    Homme Profil pro
    Développeur Web indépendant
    Inscrit en
    Avril 2007
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web indépendant

    Informations forums :
    Inscription : Avril 2007
    Messages : 678
    Points : 1 042
    Points
    1 042
    Par défaut
    oui,

    d'ailleurs sur ce forum un membre avait laissé une fonction qui ressemblait à ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function verif_slashes($value) { 
    //on supprime les slashs  
    if (get_magic_quotes_gpc()) $value = stripslashes($value); 
    // Protection si ce n'est pas un entier  
    if (!is_numeric($value))$value = mysql_real_escape_string($value); return $value; 
    }
    elle est très intéressante, tu devrais l'essayer.
    LudiKreation Pour un web ludique et son Blog | CapRumbo pour un peu d'évasion | ChaOdisiaque Club Passion Rôliste |SierrElben le Jeu de rôle

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    J'ai essayé avec la fonction mais sa ne marche pas non plus. Enfait ce n'est pas quand le texte contient des guillemets mais des appostrophes --> '

    Est ce que quelqu'un aurait une autre idée ?

    Merci d'avance!

  4. #4
    Pgs
    Pgs est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 482
    Points : 100
    Points
    100
    Par défaut
    Salut,

    essaie donc le code : str_replace("*", "**", tachaîne)

    Dans le code ci-dessus, remplace chaque * par un '

    (j'ai fais ça car on arrive pas bien, à l'écran à lire "''" et "'").

    Dis mois si ça marche.

    Bye

    Philippe

  5. #5
    Membre éprouvé Avatar de sharrascript
    Homme Profil pro
    Développeur Web indépendant
    Inscrit en
    Avril 2007
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web indépendant

    Informations forums :
    Inscription : Avril 2007
    Messages : 678
    Points : 1 042
    Points
    1 042
    Par défaut
    serait il possible d'avoir un bout de code??
    LudiKreation Pour un web ludique et son Blog | CapRumbo pour un peu d'évasion | ChaOdisiaque Club Passion Rôliste |SierrElben le Jeu de rôle

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    non sa marche toujours pas ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    <?php
    if ($_POST['code'] == rwp77)
    {
    $texte = $_POST['texte'];
    $nom = $_POST['nom'];
    $date = date('\L\e d.m.Y \à H:i');
     
    ?>
    <h2>Voila le texte que vous avez enregistrer...</h2>
    <h4>Nom:</h4><?php echo $nom; ?><h4>Date:</h4><?php echo $date; ?>
    </br>
    <h4>Commentaire:</h4><? echo $texte; ?>
    </br>
    <?
    str_replace("'", "..", $texte);
    mysql_connect("localhost", "...", "..."); // Connexion à MySQL
    mysql_select_db("..."); // Sélection de la base coursphp
    mysql_query("INSERT INTO livredor VALUES('', '$nom', '$date', '$texte')");
    mysql_close(); // Déconnexion de MySQL
    }
    else
    {
    ?>
    <h2> Désolé vous n'avez pas entré le bon code... Veuillez retourner sur le livre d'or et mettre le bon code. Merci</h2>
    <?
    }
    ?>
    est ce que quelqu'un aurait encore une idée super génial parce que moi franchement je sèche ...

    merci pour votre aide !

  7. #7
    Membre éprouvé Avatar de sharrascript
    Homme Profil pro
    Développeur Web indépendant
    Inscrit en
    Avril 2007
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web indépendant

    Informations forums :
    Inscription : Avril 2007
    Messages : 678
    Points : 1 042
    Points
    1 042
    Par défaut
    salut,

    Essai quand même cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    <?php
    function verif_slashes($value) { 
    //on supprime les slashs  
    if (get_magic_quotes_gpc()) $value = stripslashes($value); 
    // Protection si ce n'est pas un entier  
    if (!is_numeric($value))$value = mysql_real_escape_string($value); return $value; 
    }
     
    if ($_POST['code'] == 'rwp77')
    {
    $texte = $_POST['texte'];
    $nom = $_POST['nom'];
    $date = date('\L\e d.m.Y \à H:i');
     
    ?>
    <h2>Voila le texte que vous avez enregistrer...</h2>
    <h4>Nom:</h4><?php echo $nom; ?><h4>Date:</h4><?php echo $date; ?>
    </br>
    <h4>Commentaire:</h4><? echo $texte; ?>
    </br>
    <?
     
    mysql_connect("localhost", "...", "..."); // Connexion à MySQL
    mysql_select_db("..."); // Sélection de la base coursphp
    mysql_query("INSERT INTO livredor VALUES('', '".verif_slashes($nom)."', '$date', '".verif_slashes($texte)."')") or die (mysql_error());
    mysql_close(); // Déconnexion de MySQL
    }
    else
    {
    ?>
    <h2> Désolé vous n'avez pas entré le bon code... Veuillez retourner sur le livre d'or et mettre le bon code. Merci</h2>
    <?
    }
    ?>
    et dis moi si tu as le retour d'une éventuelle erreur
    LudiKreation Pour un web ludique et son Blog | CapRumbo pour un peu d'évasion | ChaOdisiaque Club Passion Rôliste |SierrElben le Jeu de rôle

  8. #8
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    La plupart des fonctions PHP ne modifie pas leurs paramètres et renvoie une nouvelle valeur. C'est le cas de str_replace ou de mysql_real_escape_string (sinon ça sert à rien d'y faire appel).

    Pour reprendre la fonction de sharrascript, il vous aurait suffit d'écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $texte = verif_slashes($_POST['texte']);
    Ou de le faire plus tard (comme vous le faites) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $texte = verif_slashes($texte);

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    C'est bon sa marche maintenant. En fait j'avai appliqué la fonction qu'au texte pas au nom ce qui fait que quand je faisais mes test ça ne marchait pas !... ralala En tout cas merci beaucoup pour votre aide!

    Bon Week end a tous !

    Guillaume

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/01/2011, 16h15
  2. [XL-2007] Copier-coller texte Excel vers internet ajoute des guillemets intempestifs
    Par cornelius59 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 11/10/2009, 21h31
  3. [Oracle] Insertion de données comportant des caractères accentués
    Par elzebore dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 28/11/2007, 19h44
  4. [MySQL] insertion d'un texte contient des '
    Par Mounr dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 15/04/2007, 22h26
  5. Réponses: 5
    Dernier message: 02/04/2007, 14h46

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