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

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

Votre réponse

6 réponses

Meilleure réponse
Messages postés
9440
Date d'inscription
mardi 9 octobre 2001
Dernière intervention
13 avril 2007
- 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

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de cs_Anthomicro
Messages postés
9440
Date d'inscription
mardi 9 octobre 2001
Dernière intervention
13 avril 2007
- 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
Messages postés
2215
Date d'inscription
mardi 11 novembre 2003
Dernière intervention
16 juillet 2009
- 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
Messages postés
2215
Date d'inscription
mardi 11 novembre 2003
Dernière intervention
16 juillet 2009
- 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
Messages postés
1982
Date d'inscription
dimanche 20 février 2005
Dernière intervention
24 septembre 2012
- 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
Messages postés
1982
Date d'inscription
dimanche 20 février 2005
Dernière intervention
24 septembre 2012
- 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.