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 :

Insertion de code HTML dans une table, avec UPDATE [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Insertion de code HTML dans une table, avec UPDATE
    Bonjour à tous,

    Je suis en train de développer pour l'un de mes sites une zone d'administration, où il est notamment possible de modifier le contenu des pages, pour des rédacteurs qui vont m'assister.

    Ce contenu est constitué de code html basique : <p>, <h1> <img> <a> <blockquote> et, selon le cas, de <table> et sa clique.


    Je n'ai eu aucun problèmes pour récupérer les données de la page à modifier (titre, rubrique et contenu) et les afficher dans un formulaire.

    Les données du formulaire sont ensuite envoyées à une requete SQL UPDATE, qui se charge de mettre la ligne correspondante ($id) de la table 'page'.

    Si je n'exécute que ce code, tout se passe sans problème et les données sont modifiées dans la table :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $id = $_POST['id'];
    $title = $_POST['title'];
    $rub = $_POST['rub'];		
     
     
      mysql_query("
    	UPDATE page SET
    	title	= '" . mysql_real_escape_string ( $title ). "',
    	rub = '" . mysql_real_escape_string ( $rub ). "'
    	WHERE id=$id 
      ") or die (mysql_error());
    Maintenant, si je rajoute la variable $content dans la requete, comme ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    $id = $_POST['id'];
    $title = $_POST['title'];
    $rub = $_POST['rub'];
    $content = $_POST['content'];		
     
     
      mysql_query("
    	UPDATE page SET
    	title	= '" . mysql_real_escape_string ( $title ). "',
    	rub = '" . mysql_real_escape_string ( $rub ). "',
    	content = '" . mysql_real_escape_string ( $content ). "'
    	WHERE id=$id 
      ") or die (mysql_error());
    j'ai le message suivant qui s'affiche :

    You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'content = '

    Petit test de contenu d\\\'une page...
    ' WH
    C'est donc le code HTML contenu dans la variable $content.
    Je ne crois rien voir dans mon code qui soit à l'origine du problème.
    Je précise que j'utilise FCKEditor pour la modification du contenu, car certains de mes rédacteurs ne connaissent rien au HTML, même basique. Peut-il être à la base de mes ennuis ?
    J'ai tenté avec addslashes(), rien...

    Ca me laisse vraiment perplexe.

    Merci d'avance pour votre aide

  2. #2
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Points : 2 399
    Points
    2 399
    Par défaut
    bizarre, j'utilise également fckeditor et avec un simple addslashes cela fonctionne :/
    Zend Certified PHP Engineer

    « Crois-tu comprendre le monde juste en matant le 20H Ou connaître l'histoire en ayant lu que l'angle des vainqueurs ? » Keny Arkana

  3. #3
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Il faudrait mettre la requête dans une variable puis l'afficher pour voir ce que ça donne...
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  4. #4
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    est-ce que dans ton php.ini tu n'aurai pas les magic_quotes d'activées ?
    quand tu cumules les magic_quotes et le real_escape_string, ça te rajoute des \ à la tonne
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    J'ai effectivement les magic_quotes activées.

    J'ai essayé addslashes, real_escape_string, sans rien, j'ai même essayé avec addslashes ET real_escape_string (lol) en désespoir de cause.

    Snif

    Je comprends vraiment pas...

    Je précise que j'ai un hébergement mutualisé chez OVH pour ce site.

    Edit : C'est très bizarre, car même avec ce simple mot "TEST", sans aucune balise HTML, il refuse de mettre à jour l'enregistrement.

    New edit : Bon ben ça marche, sans que je touche à rien.......... Allez comprendre.

    Merci !

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/05/2011, 23h48
  2. insertion de code HTML dans une JSF
    Par twister9458 dans le forum JSF
    Réponses: 0
    Dernier message: 17/07/2009, 17h05
  3. Réponses: 3
    Dernier message: 10/02/2006, 15h48
  4. [html] insertion d 1 image dans une cellule avec taille en %
    Par hijodelanoche dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 19/01/2006, 00h50
  5. Réponses: 4
    Dernier message: 13/10/2005, 14h44

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