Ne pas interpreter les \ et ' et " [Résolu]

MadM@tt 2215 Messages postés mardi 11 novembre 2003Date d'inscription 16 juillet 2009 Dernière intervention - 30 août 2005 à 14:39 - Dernière réponse : Evangun 1982 Messages postés dimanche 20 février 2005Date d'inscription 24 septembre 2012 Dernière intervention
- 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
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
cs_Anthomicro 9440 Messages postés mardi 9 octobre 2001Date d'inscription 13 avril 2007 Dernière intervention - 30 août 2005 à 15:36
3
Merci
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>

Merci cs_Anthomicro 3

codes-sources a aidé 80 internautes ce mois-ci

Commenter la réponse de cs_Anthomicro
cs_Anthomicro 9440 Messages postés mardi 9 octobre 2001Date d'inscription 13 avril 2007 Dernière intervention - 30 août 2005 à 15:23
0
Merci
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>
Commenter la réponse de cs_Anthomicro
MadM@tt 2215 Messages postés mardi 11 novembre 2003Date d'inscription 16 juillet 2009 Dernière intervention - 30 août 2005 à 15:31
0
Merci
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
Commenter la réponse de MadM@tt
MadM@tt 2215 Messages postés mardi 11 novembre 2003Date d'inscription 16 juillet 2009 Dernière intervention - 30 août 2005 à 15:39
0
Merci
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
Commenter la réponse de MadM@tt
Evangun 1982 Messages postés dimanche 20 février 2005Date d'inscription 24 septembre 2012 Dernière intervention - 30 août 2005 à 15:40
0
Merci
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...
Commenter la réponse de Evangun
Evangun 1982 Messages postés dimanche 20 février 2005Date d'inscription 24 septembre 2012 Dernière intervention - 30 août 2005 à 15:41
0
Merci
houlà je suis à la masse lol
Commenter la réponse de Evangun

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.