Champs Masqués '

seb -  
 Utilisateur anonyme -
Bonjour à tous !
Je viens de m’apercevoir que lorsque je rentre une Apostrophe (‘) dans un formulaire
La valeur de la variable chaîne que je récupère sur la page suivant est modifiée.
Exemple :

<input type="text" name="adresse1" size="40" maxlength="80">
je rentre l’adresse1 suivante : Rue de l’apocalypse

sur la page suivante je souhaite récupérer l’adresse1 dans un champs masqué comme suit :
<input type="hidden" name="adresse1" value="<? print $adresse1 ?>">

or dans mon code source je visualise :
<input type="hidden" name="adresse1" value="Rue de l\'apocalypse">

ma variable $adress1 ne vaut plus « Rue de l’apocalypse » mais "Rue de l\'apocalypse">

j’ai alors essayé de supprimer \ par la fonction :
$adresse1=str_replace("\","",$adresse1);
mais cela ne fonctionne pas car \ est un caractère code du langage php

Si quelqu’un a une solution Merci.

Seb webmaster ANPSA

2 réponses

PhP Messages postés 1774 Statut Membre 606
 
Slt Seb,

Pour résoudre ton problème il existe toute une série de fonction php faites pour çà :

string addslashes(string str) :
ajoute les slashs devant les carcatères qui en ont besoin, cad les séquences d'échappement

ex addslashes("aujourd'hui") renvoie "aujourd\'hui"

string stripslashes(string str) :
fait l'inverse : remplace les séquences d'échappement par leur caractère correspondant.

ex stripslashes("aujourd\'hui") renvoie "aujourd'hui"

Il y a aussi :

string htmlspecialchars(string str) :
remplace les caractères réservés et spécifiques au HTML :
le '< 'devient '&lt;'
le '>' deveint '&gt;'
le '&' devient '&amp;'
le ' " ' devient '&quote;'

Très utile pour insèrer du texte, par exe dans un TEXTAREA, qui contient du code html qui ne doit surtout pas être considéré comme tel, cad interprété !

J'espère avoir répondu à ta question

@+
0
Utilisateur anonyme
 
Je me suis encore fait devancer par le pro du PHP qui fidèle a lui-même nous a sorti une réponse complète de chez complet..

J'ajouterais juste un petit conseil pour seb.

Pour éviter ce genre de problèmes à l'avenir, fais des filtres d'entrée/sortie et d'autres pour les enregistrements mySQL (si tu t'en sers) Tu fais tout passer dedans, ainsi tu seras sur de ne pas avoir de caractères indésirables dans tes chaines.

ICQ 40021243
Youri
0