[Resolu]Probleme quote dans input

Probleme quote dans input [Resolu] - PHP - Programmation

Marsh Posté le 16-03-2008 à 16:18:56    

Bonjour,
Je récupère certaines valeurs dans ma base, que je fais affiche dans diverses input pour que celle ci puisse être modifié
mon problème se situe avec les quottes simples ou doubles cela ne change rien.
Donc voila disons que je stocke dans ma base  (je fais exprès de mettre une double quotte dans ma base),  
 

Citation :

text dans la " base


 
code php pour affiche la ligne

Citation :

echo "<input type=\"text\" size=\"20\" id=\"valeur_default$i\" name=\"valeur_default$i\" value=\"".${'valeur_default'.$i}."\" ></td>";


 
mais il ne s'affiche dans l'input juste que : text dans la  
, normal puis que la value prend les deux premiere quotes
voici la source

Citation :

<input type="text" size="25"  id="valeur_defaul2" name="valeur_defaul2" value="text dans la " base" >


 
j'ai essaye en changeant en mettant des simple quotes pour l'encadrement de la valeur, mais j'ai le meme problème, si une simple quote est stocké dans la base,  
j'ai essaye en mettant addslashes et stripslashes, mais toujours pareil
 
pour l'enregistrement dans la base , j'utilise la fonction mysql_real_escape_string
 
alors je pense que je dois faire une petite erreur, ou je sais pas quoi,  
merci de m'aider car c'est assez genant


Message édité par infoman64 le 18-03-2008 à 11:12:58

---------------
---------
Reply

Marsh Posté le 16-03-2008 à 16:18:56   

Reply

Marsh Posté le 16-03-2008 à 19:24:01    

Déjà, je trouve ton code très moche :

Code :
  1. echo "<input type=\"text\" size=\"20\" id=\"valeur_default$i\" name=\"valeur_default$i\" value=\"".${'valeur_default'.$i}."\" ></td>";


J'aurais mis:

Code :
  1. <input type="text" size="20" id="valeur_default<? echo $i; ?>" name="valeur_default<? echo $i; ?>" value="<? echo addslashes(${'valeur_default'.$i}); ?>"></td>


Au moins, il y aurait moins d'exécution inutile coté serveur.
L'addslashes devrait permettre, lors de l'affichage, d'antislasher le guillemet.
Si jamais ça ne fonctionne toujours pas, il faudrait peut-être un addslashes pour l'entrée dans la base de données aussi.


---------------
Debian Addict - Vista Victim .. - Etudiant Ingénieur [Le Pas-Blog - Relations Ecrites]
Reply

Marsh Posté le 16-03-2008 à 20:03:54    

Nashii89 a écrit :

Déjà, je trouve ton code très moche :

Code :
  1. echo "<input type=\"text\" size=\"20\" id=\"valeur_default$i\" name=\"valeur_default$i\" value=\"".${'valeur_default'.$i}."\" ></td>";


J'aurais mis:

Code :
  1. <input type="text" size="20" id="valeur_default<? echo $i; ?>" name="valeur_default<? echo $i; ?>" value="<? echo addslashes(${'valeur_default'.$i}); ?>"></td>


Au moins, il y aurait moins d'exécution inutile coté serveur.
L'addslashes devrait permettre, lors de l'affichage, d'antislasher le guillemet.
Si jamais ça ne fonctionne toujours pas, il faudrait peut-être un addslashes pour l'entrée dans la base de données aussi.


 
en ce qui concerne, que je mette tout en php, c'est que c'est dans une fonction php et je prefere laisse tout en php, l'execution du serveur  ce n'est pas grave j'ai pas besoin de rendement, pour ce que ca va faire, mais bon  merci quand meme
 
ensuite je vais tester avec les deux addslashes on verra bien,

Reply

Marsh Posté le 16-03-2008 à 20:09:17    

Que ce soit dans une fonction ou non, ça change rien hein ^^'


---------------
Debian Addict - Vista Victim .. - Etudiant Ingénieur [Le Pas-Blog - Relations Ecrites]
Reply

Marsh Posté le 18-03-2008 à 11:12:19    

voila  j'ai resolu mon problème  il suffit d'utiliser la fonction
htmlspecialchars(),  
 
<input type="text" name="ref_type" size="20" value="<? echo htmlspecialchars($ref); ?>" />
 
merci de votre Aide


Message édité par infoman64 le 18-03-2008 à 11:12:44
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed