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 :

apostrophe mysql & php


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Femme Profil pro
    Webmaster
    Inscrit en
    Mai 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2011
    Messages : 15
    Par défaut apostrophe mysql & php
    Bonjour,
    J'ai créer un formulaire sur mon site internet, les données sont envoyées ensuite sur ma base de données Mysql. Le soucis c'est que je n'arrive pas à envoyer ce formulaire dès qu'il y a le moindre apostrophe. (Sauf si je le double '').
    Que dois-je faire/modifier ? et où ?
    Merci

  2. #2
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 467
    Par défaut
    Salut,

    Hélas, le contrôle de données utilisateur est une plaie pour les développeurs ... Et c'est à toi de le faire !

    Rien à voir avec le PHP, mais pour ma part, je me suis fais une classe d'accès SQL pour mes applications avec dedans une méthode "FormatData", me renvoyant mes données correctement formatées.

    Donc tu peux tenter de te faire une fonction telle ...

  3. #3
    Membre averti
    Femme Profil pro
    Webmaster
    Inscrit en
    Mai 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2011
    Messages : 15
    Par défaut
    Merci pour la réponse. Mais n'y a t-il pas une autre solution ? =S
    J'avais déjà regarder sur des forums et j'ai vu qu'il y aurait une fonction mais je n'arrive pas à l'appliquer.

  4. #4
    Membre averti
    Femme Profil pro
    Webmaster
    Inscrit en
    Mai 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2011
    Messages : 15
    Par défaut
    la fonction addslashes() je crois

  5. #5
    Membre émérite Avatar de Atomya Rise
    Femme Profil pro
    Développeuse Web
    Inscrit en
    Février 2009
    Messages
    443
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Somme (Picardie)

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

    Informations forums :
    Inscription : Février 2009
    Messages : 443
    Par défaut
    Citation Envoyé par soft_57 Voir le message
    la fonction addslashes() je crois
    addslashes

    utilise plutôt la fonction : mysql_real_escape_string

  6. #6
    Membre émérite
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Par défaut
    addslashes dans l'insertion et stripslashes pour le retour.

  7. #7
    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
    Pour un code "universel" quelque soit la configuration du serveur :

    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
    function Verif_magicquotes ($chaine)
    {
    if (get_magic_quotes_gpc()) $chaine = stripslashes($chaine);
     
    return $chaine;
    } 
     
    $nom = isset($_POST['nom']) && trim($_POST['nom']) != '' ? Verif_magicquotes($_POST['nom']) : null;
     
    //...
     
    if (isset($nom))
    {
    $query = "INSERT ... VALUES('".mysql_real_escape_string($nom)."',...);"
    }

  8. #8
    Membre émérite Avatar de Atomya Rise
    Femme Profil pro
    Développeuse Web
    Inscrit en
    Février 2009
    Messages
    443
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Somme (Picardie)

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

    Informations forums :
    Inscription : Février 2009
    Messages : 443
    Par défaut
    j'avoue que la réponse de ABCIWEB est bien plus "universel", mais pas terrible les magic_quotes, à exclure tant que possible...

  9. #9
    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
    Citation Envoyé par Atomya Rise Voir le message
    j'avoue que la réponse de ABCIWEB est bien plus "universel", mais pas terrible les magic_quotes, à exclure tant que possible...
    Ben oui mais on choisi pas toujours, surtout sur un mutualisé.

    Et même si ça fait longtemps - depuis php5 il me semble - que cette fonction n'est plus activée par défaut, elle est encore néanmoins souvent activée pour compatibilité avec d'anciens scripts chez pas mal d'hébergeurs (sans compter free parmi les fournisseurs d'accès).

    Il y a aussi la possibilité de désactiver ça dans un .htaccess, mais pas toujours (suivant les hébergeurs).

    Donc en bref en mettant ça dans le code on est paré pour toutes les situations, et même si c'est amené à être inutile, c'est transparent et pas vraiment lourd

Discussions similaires

  1. Export MySql en php
    Par pierre50 dans le forum Débuter
    Réponses: 5
    Dernier message: 11/08/2010, 13h46
  2. [MySQL] Problème apostrophe mysql-php
    Par soulflow dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 03/08/2009, 15h05
  3. Installer apache, mysql et php sur une red hat 9 !
    Par Ruddy16 dans le forum Applications et environnements graphiques
    Réponses: 1
    Dernier message: 07/11/2005, 21h41
  4. 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