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

Signaler
Messages postés
2167
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 juillet 2009
-
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
-
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

Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
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>
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
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>
Messages postés
2167
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 juillet 2009
1
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
Messages postés
2167
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 juillet 2009
1
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
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
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...
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
houlà je suis à la masse lol