html dans la BDD

Eléphanteau du PHP | 36 Messages

12 avr. 2007, 14:59

Bonjour à tous,
pour mettre à jour mon site plus facilement, j'ai créé une zone d'administration pour modifier le texte de mon site. Cependant, lorsque dans la zone d'administration je souhaite modifier mon texte, et que celui contient un apostrophe, la modification n'est pas prise en compte et j'ai le message d'erreur suivant à l'écran :

Code : Tout sélectionner

probleme You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'Avril : tous les remerciements mariage personnalisés en promo à
Par contre, lorsque je mets un antislash devant les apostrophes, la modification est bien envoyée à la Base de Donnée et donc le site est modifié.

J'aimerai savoir comment je pourrai y remédier, et savoir aussi s'il est possible d'ajouter un éditeur HTML ? Merci d'avance
Johan

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

12 avr. 2007, 15:08

Remédier à quoi ? ce comportement est normal.

Cherche "apostrophes" et/ou "échapper" sur le forum, sujet traité 1000 fois.

Tu as des fonctions qui ajoutent/enlèvent automatiquement ces anti-slashs.

Eléphanteau du PHP | 36 Messages

12 avr. 2007, 15:39

merci beaucoup j'ai trouvé un sujet avec la solution, à savoir ajouter

Code : Tout sélectionner

$texteins=addslashes($texteins);
   if (isset($_POST["action"]))
   {
      $action=$_POST["action"];
      if ($action=="inserer")
      {

	 $idins=$_POST["idins"];      
	 $texteins=$_POST["texte"];
	 $texteins=addslashes($texteins);
	 $photoins=$_POST["photo"]; 
	 $requete_update ="UPDATE nouveautes
	 	           set texte='$texteins', photo = '$photoins'
	 	           where id= '$idins'";
       $result2 = mysql_query($requete_update) or die ("probleme " .mysql_error());
	   }
    }

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

12 avr. 2007, 15:45

Exact, avec son inverse stripslashes()

Variante plus complète : mysql_real_escape_string()