Ce forum est maintenant fermé, seule cette archive statique reste consultable.
  FORUM Matbe.com
  OS, Software, Réseaux
  Programmation

  [PHP/MYSQL] Récupération d'une chaîne d'une base de données

Bas de page
Auteur Sujet :

[PHP/MYSQL] Récupération d'une chaîne d'une base de données

n°73496
jolamouche
Posté le 28-11-2011 à 16:25:50  
 

Bonjour a vous,
Je viens me faire pourrir une dernière fois j'espère parce que j'ai encore besoin de vous.
Je suis confronté à un petit problème.
J'ai des chaînes de caractères stockées dans une base de données. Ces chaînes contienent notamment soit des " soit des '. Je cherche à pré remplir un formulaire donc je remplace la "value" par cette valeur tirée de la base de données.

Code :
  1. <input type="text" name="title" <?php echo "value='".$ligne['title']."'"; ?>/>


 
Sauf que à chaque quote ou double quote la chaine est stoppée par le caractère " ou ' qui signifie la fin de l'attribut value...
Donc au lieu de "Je m'appelle Jean Mouloud", j'ai plutôt "Je m" d'affiché.
 
Voyez vous le problème et sa solution?

mood
Pub
Posté le 28-11-2011 à 16:25:50  
 

n°73497
LostSoul
Belgian Beer Forever (en slip)
Posté le 28-11-2011 à 16:32:31  
 

HTML Encoding :jap:


---------------
Le cheval, c'est bon, mangez-en!  
[ www.in-wonderland.net | www.start64.com | www.majorgeeks.com | updt-bdnq ]
n°73498
charlydk
The power of Tiret...
Posté le 28-11-2011 à 16:47:44  
 

http://php.net/manual/fr/function.htmlspecialchars.php


---------------
FERMETURE DU FORUM MATBE  => retrouvons-nous sur http://www.iwyt.net  :)
n°73499
jolamouche
Posté le 28-11-2011 à 16:49:04  
 

Oui merci pour ta réponse, le contenu y est sauf que ça rend le texte pas vraiment illisible. (j'ai utilisé rawurlencode). Si je encode et décode dans la foulée (ça aurait pu être une astuce) cela ne résous pas le problème...

n°73500
sebx
Posté le 28-11-2011 à 16:51:07  
 

à vue de pif ta fonction c'est pour encoder des URLs, pas du texte


---------------
matbe forever !
n°73501
charlydk
The power of Tiret...
Posté le 28-11-2011 à 16:51:17  
 

Ashe pourra surement t'indiquer ce qu'il y a de mieux à faire. Ya qu'a attendre qu'il point le bout de son nez  :d


---------------
FERMETURE DU FORUM MATBE  => retrouvons-nous sur http://www.iwyt.net  :)
n°73502
jolamouche
Posté le 28-11-2011 à 16:51:42  
 

Avec  htmlspecialchars et htmlentities ça ne change rien, l'affichage s'arrête à la quote...

Code :
  1. <input type="text" name="title" <?php echo "value='".htmlspecialchars($ligne['title'])."'"; ?>/>


Message édité par jolamouche le 28-11-2011 à 16:52:21
n°73503
charlydk
The power of Tiret...
Posté le 28-11-2011 à 16:52:24  
 

sebx a écrit :

à vue de pif ta fonction c'est pour encoder des URLs, pas du texte


Citation :

htmlspecialchars() est pratique pour éviter que des données fournies par les utilisateurs contiennent des balises HTML, comme pour un forum ou un chat.


Mais c'est ptet plutôt à utiliser lors de l'insertion en DB


Message édité par charlydk le 28-11-2011 à 16:52:56

---------------
FERMETURE DU FORUM MATBE  => retrouvons-nous sur http://www.iwyt.net  :)
n°73504
sebx
Posté le 28-11-2011 à 16:55:43  
 

je parlais de son commentaire "(j'ai utilisé rawurlencode)"


---------------
matbe forever !
n°73505
charlydk
The power of Tiret...
Posté le 28-11-2011 à 17:00:09  
 

ah ok  :p


---------------
FERMETURE DU FORUM MATBE  => retrouvons-nous sur http://www.iwyt.net  :)
n°73506
jolamouche
Posté le 28-11-2011 à 17:20:51  
 

Et la solution est :

Code :
  1. <?php echo "value='".htmlspecialchars($ligne['title'],ENT_QUOTES)."'"; ?>


Yihaa
Merci

n°73507
Ashe
reenignE esreveR
Posté le 28-11-2011 à 17:27:23  
 

En meme temps si t'avais pas mis des ' au lieu de " t'aurais pas eu le probleme :p

<input type="text" name="title" value="<?= htmlspecialchars($ligne['title']) ?>"/>

 
charlydk a écrit :

Mais c'est ptet plutôt à utiliser lors de l'insertion en DB


C'est vrai que c'est super utile d'avoir des entites HTML dans ta DB :sarcastic:

Message cité 2 fois
Message édité par Ashe le 28-11-2011 à 17:28:30

---------------
pcx360 | Binary Genetics | Dreaming Prophet
“Entropy isn’t what it used to be.”
n°73508
LostSoul
Belgian Beer Forever (en slip)
Posté le 28-11-2011 à 18:38:27  
 

au pire utiliser &quot; et &apos; spas dur quoi


---------------
Le cheval, c'est bon, mangez-en!  
[ www.in-wonderland.net | www.start64.com | www.majorgeeks.com | updt-bdnq ]
n°73509
charlydk
The power of Tiret...
Posté le 28-11-2011 à 18:45:37  
 

Ashe a écrit :

En meme temps si t'avais pas mis des ' au lieu de " t'aurais pas eu le probleme :p

<input type="text" name="title" value="<?= htmlspecialchars($ligne['title']) ?>"/>

 


 
Ashe a écrit :


C'est vrai que c'est super utile d'avoir des entites HTML dans ta DB :sarcastic:


J'ai confondu avec le machin pour se protéger des injections SQL  :o  :d


Message édité par charlydk le 28-11-2011 à 18:45:51

---------------
FERMETURE DU FORUM MATBE  => retrouvons-nous sur http://www.iwyt.net  :)
n°73510
Ashe
reenignE esreveR
Posté le 28-11-2011 à 20:31:23  
 

Tu veux dire les prepared statements, et pas une fonction a la con qui fait une conversion ? :whistle:


---------------
pcx360 | Binary Genetics | Dreaming Prophet
“Entropy isn’t what it used to be.”
n°73511
charlydk
The power of Tiret...
Posté le 28-11-2011 à 20:34:17  
 

Non non, la fonction à la con  :d  :sol:


---------------
FERMETURE DU FORUM MATBE  => retrouvons-nous sur http://www.iwyt.net  :)
n°73514
jolamouche
Posté le 29-11-2011 à 10:08:38  
 

Ashe a écrit :

En meme temps si t'avais pas mis des ' au lieu de " t'aurais pas eu le probleme :p

<input type="text" name="title" value="<?= htmlspecialchars($ligne['title']) ?>"/>




 
Oui et non le problème aurait été le même pour les ". Au lieu de s'arrêter à ' l'affichage de la chaîne se serait arrêté à ".  
 

n°73515
Ashe
reenignE esreveR
Posté le 29-11-2011 à 11:02:01  
 

Non, htmlspecialchars escape les " par defaut, pas les '
edit: d'ailleurs y a que ", & et < a escaper


Message édité par Ashe le 29-11-2011 à 11:03:20

---------------
pcx360 | Binary Genetics | Dreaming Prophet
“Entropy isn’t what it used to be.”
n°73517
jolamouche
Posté le 06-12-2011 à 10:32:18  
 

Ok merci de votre aide!

  FORUM Matbe.com
  OS, Software, Réseaux
  Programmation

  [PHP/MYSQL] Récupération d'une chaîne d'une base de données