Ne pas interpreter les \ et ' et "

Résolu
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 - 30 août 2005 à 14:39
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 - 30 août 2005 à 15:41
Salut à tous

Voilà j'ai un module de commentaire, et j'aimerais faire en sorte que
ce que j'écrive en commentaire ne soit pas interpreté par php.



Voici ma fonction :

// Formate le texte

function FormatText($str)

{

$str = trim($str);

$str = htmlentities($str);

$str = nl2br($str);

$str = str_replace('\'', '\\\'', $str);

return $str;

}



Mais si j'écris en commentaire : "Salut ' Bonjour"
Le ' sera
interprété et donc il y a une faille, pareil pour le caractère \, car
dans ma fonction je rajoute un \ devant les ' pour qu'ils ne soient pas
interprétés, mais si j'écris comme commentaire : "Salut \' Bonjour", ça
ne marche plus.



Et très important : il faut que ce qui soit écrit dans le commentaire
réapparaisse entièrement à l'écran, je ne veux pas supprimer les
caractères en question car il s'agit d'un site de programmation donc il
faut absolument que ces caractères puissent etre utilisés dans les
commentaires.



Merci
Ciaò
[mailto:madmatt_12@msn.com MadMatt]
www.madmatt.fr.st

6 réponses

cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
30 août 2005 à 15:36
ah bah tu utilises ceci :



if(get_magic_quotes_gpc()===1)

{

$message=$_POST['message'];

}

else

{

$message=addslashes($_POST['message']);

}


ensuite tu insères la chaîne $message dans la base de données
<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
3
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
30 août 2005 à 15:23
Salut,



heu c'est quoi ton problème en fait ? perso j'ai rien compris...

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
30 août 2005 à 15:31
lol désolé j'ai pas été assez clair, c'est tout simple.

J'écris un message dans un textarea, je post.

A la récupération je voudrais que les caractères ' et \ qui pourraient
etre contenu dans le message que j'ai écrit ne soient pas interprétés
par php, car chez moi quand j'écris un commentaire qui contient ces
caractère ça plante.

Donc je ne veux pas que ' et \ soient interprétés dans mes variables, tu sais comme quand tu fais

$str = 'Je m\'appelle MadMatt';

avec le \ pour éviter que le ' soit interprété.

Et ben pareil lol

Merci ;)

Ciaò
[mailto:madmatt_12@msn.com MadMatt]
www.madmatt.fr.st
0
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
30 août 2005 à 15:39
MERCI !!!!



enfin j'aurais quand même pu chercher dans les listes de fonctions mais je savais pas du tout par ou commencer.



merci

Ciaò
[mailto:madmatt_12@msn.com MadMatt]
www.madmatt.fr.st
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
30 août 2005 à 15:40
tiens, moi si j'ai $string = 'salut l\'ami\\';

et ensuite echo $string; tout va bien.

et quand tu passes une variable par post, elle est addslashée de la
même manière normalement (avec magicquotes on). le pb c'est les balises
qui elles sont exécutées si on ne fait rien...
0
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
30 août 2005 à 15:41
houlà je suis à la masse lol
0
Rejoignez-nous