566 tutoriels disponibles
Chercher un tutoriel
Bienvenue
sur Shareannonce
 
Ecrit par: Shareannonce
Date création:  30-03-2011
Nombre de vues:  3742
Catégorie:  informatique > developpement > php
Note: 
 
   Tutoriel N° 43

Il y a des retours chariots en trop avec insertion mysql dans un textarea !

Le problème, c'est que l'on enregistre dans la base un texte différent de celui que l'utilisateur a saisi.
Quand on enregistre nl2br(htmlentities($_POST["texte"])), le texte est altéré.

Il faut enregistrer dans la base mysql_real_escape_string($_POST["texte"]) pour avoir le 'vrai' texte dans la base après le mysql_query($sql).

Exemple:

<?
// la fonction PHP addslashes permet de gérer le problème des apostrophe à l'insertion MySql
$texte=addslashes($texte);
$sql="update table set champ='$texte'";
mysql_query($sql);
mysql_real_escape_string($texte);
?>


Plus tard, quand on récupère dans une variable $texte grâce à une requête, on peut l'afficher :

Dans un TEXTAREA grâce à htmlentities($texte)
<textarea><? echo htmlentities($texte) ?></textarea>


Hors TEXTAREA grâce à un nl2br(htmlentities($texte))
Vous pourrez avec le code ci dessous extraire du code html inséré en base sans l'interpréter.
Noter également que la fonction PHP stripslashes() permet d'éviter le problème d'affichage des apostrophes.

Respectez l'ordre des commandes ci dessous: !

<?
$texte=htmlentities(stripslashes($texte));
$texte=nl2br($texte);
?>



 
 
   Autres tutoriels de la même catégorie >
 
ShareAnnonce version 2.0 Tous droits reserves. | Condition d'utilisation | Contact