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 :

Les apostrophes dans les variables [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 52
    Points : 25
    Points
    25
    Par défaut Les apostrophes dans les variables
    Bonjour à tous, j'ai une variable $title qui contient des apostrophes, j'essaie d'utiliser "addslashes" pour ne pas interférer avec le reste du code, mais ça ne fonctionne pas. Voici un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    '<a href="http://www.mon-site/'.$titre_page.'/"><img class="pic" src="http://www.mon-site/'.$titre_page.'.jpg"/>'.addslashes($title).'</a>'

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    c'est pas addslashes() qu'il faut utiliser dans ce cas mais htmlspecialchars()

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 52
    Points : 25
    Points
    25
    Par défaut
    Même chose avec htmlspecialchars, si je regarde dans ma base de données, tout ce qui précède le premier apostrophe est bien là, mais ensuite plus rien...

  4. #4
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    C'est du code que t'envoie dans la base de données ?
    Si oui, il faudrait nous montrer comment tu échappes tes variables dans le SQL (en gros ton code d'insertion en base)

  5. #5
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 52
    Points : 25
    Points
    25
    Par défaut
    Voici mon formulaire qui envoie vers une page de traitement, je sais pas si le problème vient de là ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <form method="get" name="list" id="list">
    <a href="http://www.mon-site/page.php?id='.htmlspecialchars($id_title).'"><div type="submit" name="list" id="switch" class="list">Cliquez ici</div></a>
    </form>	';

  6. #6
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Je n'ai toujours pas compris ce que tu voulais faire...
    Tu as des problèmes pour afficher du html ou insérer des données dans une base de données ? C'est 2 problèmes différents

  7. #7
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 52
    Points : 25
    Points
    25
    Par défaut
    C'est une fois dans la base de données que mes données ne s'affichent pas comme elles devraient, à cause d'un apostrophe. En fait ça ne me dérangerait pas qu'elles s'afficent avec des caractères bizarres, du moment qu'elles s'affichent, mais là tout ce qui suit l'apostrophe disparaît, car ils associent cet apostrophe à la fin de mon code ce qui n'est pas le cas, c'est poru cela que je voulais mettre addslashes

  8. #8
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 52
    Points : 25
    Points
    25
    Par défaut
    Bon j'ai trouvé la solution, c'est pas htmlspecialchars qu'il me fallait mais bien le contraire, html_entity_decode, merci tout de même !

  9. #9
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Euh... t'es sûr de toi ? T'es sûr de ne pas faire un peu n'importe quoi ?
    À vue de nez, je pense que tu joues aux dés. Un coup j'essaie cette fonction et un autre coup celle-là jusqu'à tomber sur un résultat fonctionnel.

    Tout ce que je peux te dire c'est qu'à l'enregistrement en base de données, si tu as une troncature du fait de la présence d'une apostrophe dans la valeur d'une variable c'est que les échappements et la sécurisation des données variables ne sont pas faits correctement.

    À tout hasard, je te conseille de zieuter du côté de PDO::prepare()

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

Discussions similaires

  1. Bilatex : ignorer les apostrophes et les espaces dans le tri des entrées
    Par grafik.muzik dans le forum Bibliographies - Index - Glossaires
    Réponses: 0
    Dernier message: 24/05/2013, 21h55
  2. enlever les slashes devant les apostrophes dans les mails
    Par laurentSc dans le forum Langage
    Réponses: 10
    Dernier message: 16/11/2010, 19h57
  3. Comment résoudre les apostrophes dans les requêtes SQL ?
    Par Chatbour dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 03/07/2007, 17h31
  4. [JDBC]les apostrophes dans les chaines
    Par d_token dans le forum JDBC
    Réponses: 4
    Dernier message: 30/08/2006, 14h32
  5. Les polices dans les tables et les requêts
    Par zooffy dans le forum Access
    Réponses: 3
    Dernier message: 21/06/2006, 12h06

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