Problème avec mysql_real_escape_string()
Bonjour à tous. Voilà, j'utilise le script habituel pour protéger les données qui arrivent par $_POST :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| function securiser($valeur)
{
// Stripslashes
if (get_magic_quotes_gpc()) {
$valeur = stripslashes($valeur);
}
// Protection si ce n'est pas un entier
if (!is_numeric($valeur)) {
$valeur = mysql_real_escape_string($valeur);
}
return $valeur;
} |
Seulement mon $_POST est un texte qui vient d'un textarea. Je voudrais qu'il garde les retours à la ligne et sauts de ligne. Avec ma fonction securiser(), les slashs sont enlevés car get_magic_quotes_gpc() est activé sur le serveur (je ne peux pas intervenir dessus). Et je me retrouve ensuite dans ma BDD avec le texte et les retours chariot sans la \ (juste r ou n) . Quand j'affiche mon texte aprés l'avoir récupéré, évidemment j'ai perdu la mise en page car les sauts de ligne et retours chariot s'affichent sans le \ au lieu de s'executer (exemple "je saute une lignern" au lieu de \r\n à la fin). Comment sécuriser mes données $_POST et en même temps conserver ma mise en page du texte que j'insère dans ma BDD. Merci à vous pour vos réponses et bonne continuation.