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 :

enregistrement caracteres speciaux HTML dans BDD [ODBC]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 253
    Points : 74
    Points
    74
    Par défaut enregistrement caracteres speciaux HTML dans BDD
    Bonjour !

    J'ai un formulaire d'inscription sur mon site qui marche très bien, à l'exception d'un seul bug : quand on rentre une apostrophe dans un chamsp de saisie.

    Donc quand j'envoi le formulaire il me met une erreur SQL du type :
    " syntaxe incorrecte vers **champs_en_question** "

    Voici mes tests sur une variable :
    1)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $r_adresse = $_POST["adresse"]; 
    // (variable de départ --> ERREUR)
    2)
    J'ai du rajouté une fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function quoteencode( $Chaine )
    {
      return str_replace("'","’",$Chaine);
    }
    puis la variable modifiée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $r_adresse = quoteencode($_POST["adresse"]);
    //Mais dans ma table j'ai "’" au lieu d'une apostrophe
    et 3)
    re-modification de ma variable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $r_adresse = htmlentities(quoteencode($_POST["adresse"]));
    //Mais ça me met "’" au lieu d'une apostrophe.
    Et je finis pas un INSERT INTO basic car je ne pense pas que le traitement se fasse à cet endroit.

    Aidez-moi SVP merci bcp.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Points : 1 177
    Points
    1 177
    Par défaut
    Si ta base de données est une base MYSQL, essaye ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $str = addslashes($str);

  3. #3
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Quelle SGDB utilises-tu ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 253
    Points : 74
    Points
    74
    Par défaut
    bonjour merci pour les réponses

    J'utilise une base ODBC, el logiciel que j'utilise est Microsoft SQL Server 2005

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 253
    Points : 74
    Points
    74
    Par défaut
    Bon bah j'ai trouvé ma solution que je partage au cas où quelqu'un aurait le même problème que moi :

    Ma fonction dont je parlai en haut je l'ai modifiée, j'ai juste fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function simplequoteencode( $Chaine ) 
    { 
      return str_replace("'","''",$Chaine); 
    }
    Et dans tous les champs en POST que j'ai récupéré je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $MonChamps = quoteencode($_POST["monchamps"]);
    Et le tour est joué

    Merci pour votre réactivité

    @+

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

Discussions similaires

  1. inserer page html dans bdd
    Par Magik22 dans le forum Bases de données
    Réponses: 2
    Dernier message: 10/07/2009, 19h48
  2. Enregistrement et sélections images dans bdd ms sql.
    Par Jean_guy dans le forum Windows Forms
    Réponses: 5
    Dernier message: 05/01/2008, 11h51
  3. [SGBD] FPDF+enregistrer le pdf généré dans BDD MySQL
    Par Flushovsky dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 29/11/2005, 16h22
  4. Insertion code html dans bdd
    Par jeff37 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 15/04/2004, 15h03
  5. insertion caracteres speciaux html
    Par arcane dans le forum Requêtes
    Réponses: 2
    Dernier message: 22/09/2003, 14h16

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