Probleme de caractere dans BDD

[Résolu]
Signaler
Messages postés
69
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
25 novembre 2010
-
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
-
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

Messages postés
224
Date d'inscription
mercredi 23 mai 2007
Statut
Membre
Dernière intervention
8 septembre 2014
1
salut

essaye addslashes()
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
36
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...
Messages postés
69
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
25 novembre 2010

Merci, sa fonctionne!!!
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
36
dans ce cas met TheGorgo en réponse accèpté !

a++

Si t'a besoin d'aide, MP !!!
Un forum...
Messages postés
224
Date d'inscription
mercredi 23 mai 2007
Statut
Membre
Dernière intervention
8 septembre 2014
1
PS : pour enlever les caracteres d'echapement lorsque tu recupere tes données
utilise :

stripslashses()
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
36
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...
Messages postés
69
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
25 novembre 2010

Ok merci...

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

a++

Si t'a besoin d'aide, MP !!!
Un forum...
Messages postés
69
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
25 novembre 2010

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...
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
36
quoi par exemple, oublie htmlentities un htmlspecialchars suffit !

a++

Si t'a besoin d'aide, MP !!!
Un forum...
Messages postés
69
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
25 novembre 2010

Ok ben je met pas htmlentities, merci pour ton aide!!!
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
36
de rien !

a++

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