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 :

[mysql_real_escape_string] Resultat en local et sur 1and1 différent [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 145
    Par défaut [mysql_real_escape_string] Resultat en local et sur 1and1 différent
    Bonjour,


    Pour insérer les éléments textes dans la base de données mysql à partir du langage php (5), j'utilise avant la fonction "mysql_real_escape_string".


    En local le texte est inséré sans antislash tandis que quand je test ma page sur 1and1, il m'insère mon texte avec des antislash lorsque je met le caractère '

    Par exemple, lorsque je souhaite insérer la chaine : l'été
    - en local, j'insère : l'été
    - sur 1and1, j'insère : l\'été

    Comment faire pour 1and1 se comporte comme le local ? Sinon, je vais devoir changer toutes mes pages php ce sera long.

    Merci.

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    t'as quelle version de php en local et chez 1and1, t'as verifié les magic_quotes ?

  3. #3
    Membre émérite Avatar de sebhm
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2004
    Messages
    1 090
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 090
    Par défaut
    bonjour,
    si tu affiches ta requete au moment de l'insertion en BD, tu as la meme chose en local et chez ton hebergeur ?
    les guillemets magiques pourraient en effet etre à l'origine du probleme bien que cette fonctionnalité soit maintenant obsolète....

  4. #4
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    Donc soit tu peux essayer de modifier ce paramètre chez ton hébergeur pour le désactiver, soit si tu n'as pas la main sur les réglages du serveur tu peux appliquer cette fonction avant tout traitement.
    Typiquement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function Verif_magicquotes ($chaine)
    {
    if (get_magic_quotes_gpc()) $chaine = stripslashes($chaine);
     
    return $chaine;
    } 
     
    $var = isset($_POST['var'])? Verif_magicquotes($_POST['var']) : null;
     
    $query = "SELECT * FROM table WHERE champ = '".mysql_real_escape_string($var)."'";

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 145
    Par défaut
    Merci beaucoup pour votre aide.

    Merci pour la fonction ABCIWEB.
    Par contre, je suis sur 1and1 et, j'ai pas mal de pages. Puis-je modifier le paramètre magic quotes en passant par le fichier .htaccess ou php.ini ?

    Apparemment si je décide d'utiliser le fichier php.ini, il faut que je duplique ce fichier partout dans les répertoires de mon site.

  6. #6
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    Si tu es sur un mutualisé tu n'auras pas accès au php.ini

    Cela dit regardes ce lien

    Tu peux donc essayer de mettre cette ligne dans un .htaccess situé à la racine du site :
    php_flag magic_quotes_gpc Off

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 145
    Par défaut
    J'ai essayé d'ajouter la ligne php_flag magic_quotes_gpc Off dans le fichier htaccess mais, j'obtiens une erreur 500.

    Des pistes ?
    (mon hebergeur est 1and1)

  8. #8
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    Si l'erreur persiste c'est certainement que cette commande n'est pas reconnue par le serveur.

    Les hébergeurs désactivent parfois certaines commandes normalement acceptées dans un .htaccess...

    Il faut voir avec ton hébergeur.

    C'est sûr que ça aurait été plus simple via le .htaccess, cela dit en cas de pb persistant tu n'as qu'une petite fonction de plus à mettre par page et appliquer cette fonction aux variables gpc, ou pour peu que tes pages incluent une page de fonctions tu n'as qu'à l'ajouter dans cette page. Et ensuite une recherche automatique sur les termes $_POST, $_GET et $_COOKIE est facile à faire pour ne rien oublier...

    .

  9. #9
    Membre expérimenté

    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
    Par défaut
    Chez 1&1 Internet le PHP est interprété en CGI et non en module d’Apache.
    Les directives php_flag et php_value (requérant PHP fonctionnant comme module Apache) ne peuvent donc pas être reconnues et entraînent inéluctablement, par conséquent, une erreur 500.

    Par contre, ce serait possible en créant un fichier php.ini. Cf leur FAQ

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 145
    Par défaut
    Bonjour,


    J'ai choisi la méthode du php.ini que j'ai uniquement crée dans mon répertoire ou se trouve mes pages en php. Tout fonctionne très bien, inutile de le copier partout.


    Merci pour votre aide.

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

Discussions similaires

  1. Encodage différent en local et sur serveur
    Par toufik135 dans le forum Développement Web en Java
    Réponses: 3
    Dernier message: 25/05/2015, 20h22
  2. Comportement différent en local et sur serveur
    Par CinePhil dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/03/2012, 15h41
  3. [CR 2008] Rendu différent en local et sur serveur
    Par ftpcrazy dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 06/11/2009, 13h30
  4. [AJAX] résultat différent en local et sur hébergeur
    Par chelguera dans le forum Général JavaScript
    Réponses: 19
    Dernier message: 31/10/2007, 15h25
  5. Polices différentes en local et sur mon hébergement
    Par flaydeer dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 20/06/2007, 10h14

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