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 :

texte avec ' dans une db


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Novembre 2012
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Distribution

    Informations forums :
    Inscription : Novembre 2012
    Messages : 53
    Par défaut texte avec ' dans une db
    Bonjour,

    J'ai un petit souci avec mon site web.
    sur la page 1, l'utilisateur introduit du texte. Avant de l'enregistrer dans la db, sur ma page 2, j'utilise le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $title_advise = mysql_real_escape_string(htmlspecialchars(stripcslashes($_POST[title])));
    $comment = mysql_real_escape_string(htmlspecialchars(stripcslashes($_POST[comment])));
    cela me permet de gérer le problème du texte avec des '

    Cela marche super by sur mon localhost. J'ai transfére le tout chez mon héberger (OVH) et cela ne fonctionne plus. le code est exactement le meme que sur mon localhost.

    Du coup, je me demande bien ou est le problème. Est ce que vous pourriez m'aider un peu?

    Merci

    Mickael

  2. #2
    Membre Expert

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Par défaut
    Est-ce que c'est juste cette requête là qui plante ou est-ce que aucune requête sql ne marche ?

    Qu'est ce qui se passe exactement ? Tu as un message d'erreur ?

  3. #3
    Membre averti
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Novembre 2012
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Distribution

    Informations forums :
    Inscription : Novembre 2012
    Messages : 53
    Par défaut
    bonjour,

    Merci pour la réponse. sur la meme page, les autres requêtes fonctionnent sans problème.
    comment est ce que je peux voir le code erreur renvoyé par la requête?

    Merci

    Mickael

  4. #4
    Membre Expert

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Par défaut
    Quand tu fais exécute ta requête, fais un debug (avec var_dump()) de ce que contient ta requête puis arrête ton script. Ensuite tente d'exécuter ta requête directement dans phpmyadmin, pour voir si cela vient de ta requête ou non.

    En gros, il faut que tu exécutes la requête sql qui semble foirer directement dans phpmyadmin, tu auras confirmation ou non si celle-ci marche ou pas.

  5. #5
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     mysql_real_escape_string(htmlspecialchars(stripcslashes
    Tout cela nous ramene a la préhistoire de PHP.

    La vraie bonne méthode c'est de passer aux requêtes préparées avec PDO ou mysqli.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre averti
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Novembre 2012
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Distribution

    Informations forums :
    Inscription : Novembre 2012
    Messages : 53
    Par défaut texte avec '
    Bonjour,

    Merci pour vos réponses. Je me demande si je n'ai pas le meme probeme qu'ici
    http://www.developpez.net/forums/d98...nd1-different/

    Je vais regarder comment quitter la préhistoire et passer a l'ere moderne

    Mickael

  7. #7
    Membre émérite Avatar de ypcman
    Homme Profil pro
    Retraité codeur !
    Inscrit en
    Janvier 2011
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité codeur !
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 601
    Par défaut
    stripcslashes
    ...
    Tu es sûr ?
    Ne serais-ce pas stripslashes ?

  8. #8
    Membre Expert
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Par défaut
    Sabotage a raison. PDO c'est mieux.

    Si tu utilises des requêtes préparées tu autorises ton serveur de base de données à utiliser son cache plus efficacement et pour ton propre bénéfice tu n'as plus à craindre tes données. En plus tu ne sais pas utiliser mysql_real_escape_string.

    mysql_real_escape_string s'utilise quand la connection à la base est ouverte, et je crois qu'il est important d'indiquer explicitement pour quelle connection à la base on veut les caractères d'échappement. Ces caractères vont obligatoirement dépendre de ta base mysql connectée... parce qu'une base en ascii et une base en utf8 n'ont pas les mêmes besoins.

    Ensuite, tu n'as pas besoin d'avoir des tonnes de "purification" avant mysql_real_escape_string, en théorie ceci est suffisant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var $safe=mysql_real_escape_string($unsafe, $dblink);

Discussions similaires

  1. Aligner mon texte compris dans une balise <li>
    Par zut94 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 12/07/2006, 16h47
  2. comment mettre du texte formaté dans une frame?
    Par afrikha dans le forum GTK+ avec C & C++
    Réponses: 5
    Dernier message: 09/10/2005, 14h55
  3. Réponses: 2
    Dernier message: 16/12/2004, 15h33
  4. VB6] imprimer le texte afficher dans une picturebox
    Par Persons dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 27/08/2004, 11h15

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