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

Langage PHP Discussion :

Apostrophes sous php/mysql


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 247
    Par défaut Apostrophes sous php/mysql
    Bonjour je suis en train de concevoir un site en php avec base de données mysql.
    J'ai un soucis avec des apostrophes. J'ai un livre d'or ou l'internaute entre son message mais quand il apparait en ligne les apostrophes sont précédés d'un "\".
    Pourtant j'ai essayé d'utiliser addslashes() en entrée et stripslashes() en sortie ou mysql_real_escape_string() et toujours le même résultat.

    Merci pour votre aide

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Pourtant j'ai essayé d'utiliser addslashes() en entrée
    addslashes() ajoute des apostrophes, ce n'est donc pas ce qu'il te faut

    Les magic_quotes_gpc sont surement actifs sur ton serveur.
    Pour les desactiver ou les contourner :
    http://fr2.php.net/manual/fr/securit....disabling.php
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 247
    Par défaut
    je n'ai pas bien saisi comment désactiver ces fameuses "magic quotes".
    Je dois recopier ce code et le mettre ou ?

    désolé mais je suis un peu perdu

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Essai deja de le faire avec un fichier .htaccess placé à la racine de ton site avec la ligne indiquée.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 247
    Par défaut
    j'ai essayé de mettre ce fichier à la racine (dans le repertoire www)
    et le site se bloque aussitot avec ce message d'erreur
    Internal Server Error

    The server encountered an internal error or misconfiguration and was unable to complete your request.

    Please contact the server administrator, postmaster@www.xxxx.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.

    More information about this error may be available in the server error log.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2008
    Messages : 46
    Par défaut
    Salut,

    Si tu as utilisé addslashes en entrée tu peux utiliser stripslashes en sortie

    // Ajout des backslashes
    $commentaires=addslashes($commentaires);
    // Suppression des backslashes
    $commentaires=stripslashes($commentaires);

  7. #7
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    salut, si tu as accès direct au serveur tu peux simplement le désactiver ou encore faire un contrôle avant d'insérer les données dans la base
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if (get_magic_quotes_gpc()) {
       $data = $le_texte;
    }else{
      $data = addslashes($le_texte);
    }
    de meme pour l'affichage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if (get_magic_quotes_gpc()) {
       echo stripslashes($data);
    }

  8. #8
    Membre éclairé Avatar de coach759
    Profil pro
    Webmaster
    Inscrit en
    Août 2009
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Août 2009
    Messages : 79
    Par défaut
    Bonjour,

    Oui, ou bien ce que tu récupère de ton form, tu le considère comme du HTML avec htmlspecialchars() ou htmlentities() avant de le stocker dans ta base.

    Ensuite quand tu le récupérera, ça s'affichera normalement...

Discussions similaires

  1. Réponses: 9
    Dernier message: 08/02/2008, 16h17
  2. erreur de requete sous php mais pas sous mysql
    Par kenny49 dans le forum Requêtes
    Réponses: 21
    Dernier message: 28/06/2006, 16h36
  3. Php/mysql sous Feodra core 5 !
    Par Johnny P. dans le forum Linux
    Réponses: 4
    Dernier message: 29/04/2006, 19h47
  4. Apache+PHP+MySql sous FreeBSD
    Par soumou dans le forum Apache
    Réponses: 1
    Dernier message: 01/04/2006, 11h56
  5. requête mysql sous php
    Par remi59 dans le forum Débuter
    Réponses: 9
    Dernier message: 03/07/2003, 10h39

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