Bonjour,
Petit problème avec stripslashes et addslashes.
Mon objectif est d'afficher un formulaire avec un champ de texte contenant une chaîne de caractères issue d'une base de données, afin de permettre à l'utilisateur de modifier cette chaîne pour mettre à jour ce champ dans la base de données.
Pour cela dans le code j'utilise :
<input type='text' name='texte' value="".stripslashes($variable)."">
Puis un peu plus loin je lance ma requête de mise à jour:
1 2 3 4
| $post_texte = addslashes($_POST['texte']);
$sql_update = "UPDATE table SET var = '".$post_texte."' WHERE ...";
$req_update = mysql_query($sql_update) or die('Erreur SQL : <br />'.$sql_update); |
Le problème c'est que dans le champ de texte du formulaire s'il y a une double cote, la chaîne de caractère s'arrête à celle-ci, bien que la chaine dans la base soit complète.
Exemple : Soit la chaine suivante:
Test de la chaine "chaine"
Dans la base de données, celle-ci est bien sous la forme:
Test de la chaine \"chaine\"
Mais dans le champ de texte il s'affiche:
Test de la chaine
Je précise que tout fonctionne bien avec les simples cotes.
Quelqu'un peut-il me dire comment faire pour prendre en compte les doubles cotes?
Merci.
Partager