Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] Problème d'insertion en base lorsqu'une chaine contient une Esperluette (&)

Posted by flapflaplagirafe on 01/30/2012 17:58

Bonjour les Jelixeur,

je rencontre un problème dans mon système de commentaires.

Lorsque que je post un commentaire contenant le caractère "&", ce dernier est supprimé ainsi que le reste de la chaine. L'enregitrement en DB ce fait, mais tronqué au niveau de l'esperluette.

Avez vous une solution ?

Cordialement

  [Opened] Problème d'insertion en base lorsqu'une chaine contient une Esperluette (&)

Reply #1 Posted by foxmask on 01/30/2012 22:16

Bonsoir,

quel est le moteur de base de données et s'agit il d'un champ (input) classique, d'un textarea classique ou avec barre d'outils ,etc... ?

Cordialement.


@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !

  [Opened] Problème d'insertion en base lorsqu'une chaine contient une Esperluette (&)

Reply #2 Posted by laurentj on 01/31/2012 10:13

Bonjour,

normalement, il n'y a rien dans jelix qui supprime les esperluettes. Utilises-tu jforms, et si oui, peux-tu nous indiquer le code de la balise jforms qui correspond au champs en question. Utilise-tu un éditeur wysywyg HTML, et si oui, lequel. As-tu vérifié que dans ton contrôleur tu ne faisais pas des traitements sur la valeur de ce champs, et as-tu vérifié que la valeur du champs qui est récupérée dans ton contrôleur est entière, ou n'est pas déjà tronquée ?

  [Opened] Problème d'insertion en base lorsqu'une chaine contient une Esperluette (&)

Reply #3 Posted by laurentj on 01/31/2012 10:16

à y reflechir, je pense que ça vient de ta page html, et je soupconne que les données sont envoyées avec xmlhttprequest, de manière inapropriée. L'url (si c'est en GET) ou le contenu de la requete (si c'est un POST) est mal forgée : les esperluettes dans les valeurs ne sont pas échappées. Et du coup sont pris en compte par le serveur comme étant des séparateurs de paramètres.

  [Opened] Problème d'insertion en base lorsqu'une chaine contient une Esperluette (&)

Reply #4 Posted by flapflaplagirafe on 02/03/2012 11:34

Bonjour et merci pour vos réponses,

quel est le moteur de base de données et s'agit il d'un champ (input) classique

Le moteur de base de donnée est mysql et j'utilise la classe jDao

Utilises-tu jforms

Non dans le cas présent je n'utilise pas jForms

As-tu vérifié que dans ton contrôleur tu ne faisais pas des traitements sur la valeur

Le seul traitement effectué est à l'affichage avec un htmlentities( $var, ENT_QUOTES, 'UTF-8' );

à y reflechir, je pense que ça vient de ta page html, et je soupconne que les données sont envoyées avec xmlhttprequest, de manière inapropriée. L'url (si c'est en GET) ou le contenu de la requete (si c'est un POST) est mal forgée

Les données sont envoyées au format JSON avec la methode $.ajax() de jQuery 1.7 et son envoyées en POST

Si vous avez d'autres idées je suis preneur, en attendant je vais faire de nouveux tests.

  [Opened] Problème d'insertion en base lorsqu'une chaine contient une Esperluette (&)

Reply #5 Posted by laurentj on 02/05/2012 21:57

Les données sont envoyées au format JSON avec la methode $.ajax() de jQuery 1.7 et son envoyées en POST

donc c'est ton script JS qui n'est pas bon. Il y a certainement une option qu'il faut mettre où que tu as désactivé, pour que les données que tu lui donnes soient encodées correctement avant envoi. Faudrait voir le bout de code qui transforme en json et qui envoit le contenu...

 
Page
  1. Problème d'insertion en base lorsqu'une chaine contient une Esperluette (&)