Probleme de caractere dans BDD

Résolu
cs_DjChat Messages postés 69 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 25 novembre 2010 - 14 mai 2008 à 14:12
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 - 16 mai 2008 à 16:40
Bonjour a tous j'ai crée un formulaire qui a des champ texte et qui une fois validée sont stocker dans une base de donnée MySQL, mais dès qu'il y a des caracteres genre ' il me fait une erreur, je suis en varchar, y a t'il un moyen de pallier a ce probleme?

Mon PHP:

<?php


session_start();
 
 
$serveur ="localhost";
$login = "root";
$mot_passe = "";
$base = "artkateo";
 
 
$connexion = mysql_pconnect($serveur, $login, $mot_passe) or die ("impossible de se connecter a MySQL : ".mysql_error());
 
$mabase = mysql_select_db($base) or die ("impossible de ce connecter ma table : ".mysql_error());
 
switch($_POST['action'])
 
 {

case "ajout_actualite" :
  
  
    $requete = "SELECT * FROM actualite WHERE (id_actualite >= 1)";
  
  
  $result = mysql_query($requete) or die(mysql_error());
   
    
    $row=false;
    
  while ($row = mysql_fetch_array($result)) {
  
      $requete = "DELETE FROM actualite WHERE (id_actualite >= 1)";
    
    $resultat = mysql_query($requete) or die(mysql_error());
    
   /*unlink(../image_actu/actualite.jpg);*/


    
   break; 
   
  }if(!$row);
  
    $type=$_FILES['image']['type'];
    
    
    if(($type!="image/jpeg")&&($type!="image/pjpeg"))
  {
  
  echo "Erreur le fichier que vous telecharger n'est pas dans le bon format";
    
    echo '<SCRIPT LANGUAGE="JavaScript">
          function redirect() {
       window.location="actualite.php"
      }
      setTimeout("redirect()",3000);     </SCRIPT>';
  
  
  }
  else
  {
  
  
  
  $image_destination = "../image_actu/actualite.jpg";
  
      $resultat1 = move_uploaded_file($_FILES['image']['tmp_name'],$image_destination);
      
      
      
      
      
    
    
    $requete = "INSERT INTO actualite (titre, date, lieu, resume) VALUES
    ('".$_POST['titre']."','".$_POST['date']."','".$_POST['lieu']."','".$_POST['resume']."')";
    
    $resultat = mysql_query($requete) or die(mysql_error());
    
    if($resultat == TRUE)
  
  {
  
  echo "L'insertion a bien été effectué";
  
  /*echo '<SCRIPT LANGUAGE="JavaScript">
        function redirect() {
     window.location="corine.php"
    }
    setTimeout("redirect()",3000);     </SCRIPT>';*/
  
  }
  
  else
  
  {
  
  echo "L'insertion a échoué";
  
  echo '<SCRIPT LANGUAGE="JavaScript">
        function redirect() {
     window.location="actualite.php"
    }
    setTimeout("redirect()",3000);     </SCRIPT>';
       
        }    
      
  
  }
  
  
  break;

}

?>

Mon HTML:




<form method="post" target="contenu" action="traitement_n_membre.php" name="membre" enctype="multipart/form-data">


Titre :


Date :


Lieu :


Résumé : <textarea name="resume" cols="" rows=""></textarea>


Affiche :





 




</form>



Merci d'avance!!!!

12 réponses

Utilisateur anonyme
14 mai 2008 à 14:58
salut

essaye addslashes()
3
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
14 mai 2008 à 15:05
Salut,

TheGorgo++ sinon vérifie que l'encodage de ta page php et de ta base de donné son les même !

a++

Si t'a besoin d'aide, MP !!!
Un forum...
0
cs_DjChat Messages postés 69 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 25 novembre 2010
14 mai 2008 à 15:16
Merci, sa fonctionne!!!
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
14 mai 2008 à 15:18
dans ce cas met TheGorgo en réponse accèpté !

a++

Si t'a besoin d'aide, MP !!!
Un forum...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
14 mai 2008 à 15:34
PS : pour enlever les caracteres d'echapement lorsque tu recupere tes données
utilise :

stripslashses()
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
14 mai 2008 à 15:37
oui et pour éviter les faille XSS met mysql_real_escape_string et des htmlspecialchars et des htmlentities !

a++

Si t'a besoin d'aide, MP !!!
Un forum...
0
cs_DjChat Messages postés 69 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 25 novembre 2010
14 mai 2008 à 15:57
Ok merci...

Par contre moi sa sert a quoi htmlentities???
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
14 mai 2008 à 16:40
www.php.net/htmlentities

a++

Si t'a besoin d'aide, MP !!!
Un forum...
0
cs_DjChat Messages postés 69 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 25 novembre 2010
14 mai 2008 à 16:47
Merci, j'ai lu la doc, par contre quand je le met et j'affiche la source de la BDD il me met des caractere bizzarre...
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
14 mai 2008 à 18:31
quoi par exemple, oublie htmlentities un htmlspecialchars suffit !

a++

Si t'a besoin d'aide, MP !!!
Un forum...
0
cs_DjChat Messages postés 69 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 25 novembre 2010
16 mai 2008 à 09:55
Ok ben je met pas htmlentities, merci pour ton aide!!!
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
16 mai 2008 à 16:40
de rien !

a++

Si t'a besoin d'aide, MP !!!
Un forum...
0
Rejoignez-nous