Tout ce qui vient après le à n'est pas affiché!

Résolu
arabii Messages postés 23 Statut Membre -  
Catalunya's Son Messages postés 67 Statut Membre -
bonjour

quand j'envoie un message vers ma base de données tout ce qui vient après les voyelles avec

accents n'est pas affiché y compris les voyelles elles meme

aide svp

merci

4 réponses

Catalunya's Son Messages postés 67 Statut Membre 1
 
salut @arabii :)

si vous utilise le
textarea
tu doit faire comme ça:

$message = mysql_real_escape_string(htmlentities($_POST['message']));

cette phase permet d'ajouter les lettres originales du texte
0
arabii Messages postés 23 Statut Membre
 
merci pour ta reponse catalunya's son

sa marche pas

le formulaire dit que les champs sont vides !
0
Catalunya's Son Messages postés 67 Statut Membre 1
 
alors donne moi le code :)
0
arabii Messages postés 23 Statut Membre
 
if(isset($_POST['auteur'])) $auteur=$_POST['auteur'];
else $auteur="";

if(isset($_POST['message'])) $message=$_POST['message'];
else $message="";

// On vérifie si les champs sont vides
if(empty($auteur) OR empty($message))
{
echo '<div style="background-color:red;color:white;font-weight:bold;"><font size=2> Tous les champs sont obligatoires !</font></div>';
}

// Aucun champ n'est vide, on peut enregistrer dans la table
else
{
// connexion à la base
$db = mysql_connect('hôte', 'user', 'password') or die('Erreur de connexion '.mysql_error());
// sélection de la base

mysql_select_db('bdd',$db) or die('Erreur de selection '.mysql_error());

// on écrit la requête sql
$sql = "INSERT INTO table (id,,auteur,message) VALUES('','$auteur','$message')";

// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

// on affiche le résultat pour le visiteur
echo ' Votre message a bien été envoyé ' ;

mysql_close(); // on ferme la connexion
}
?>
0
Catalunya's Son Messages postés 67 Statut Membre 1
 
merci de rependre, mais votre démarche est très ancient. il faut utilisé le javascript pour tester est ce que les champs vides ou non:


<script type="text/javascript" src="fichier_jquery.js"></script>

$(document).ready(function(){
     $('#bouton').click(function(){
      var auteur = $('#auteur').val();
      var message = $('#message').val();
      if(auteur=='' || message=='')
{
      alert('un ou les 2 champs sont vide');

      //return false pour annuler l'envoi du bouton submit
      return false;
}
});
});



=====================
dans le code php utiliser les fonction suivantes:



éviter l'utilisation de :
if(isset)

$auteur = mysql_real_escape_string(htmlentities($_POST['auteur']));
$message= mysql_real_escape_string(htmlentities($_POST['message']));
0
arabii Messages postés 23 Statut Membre
 
salut

j'ai enlevé if isset et j'ai mis ton code

alors le meme probleme il considere que les champs sont vides

merci
0
mpmp93 Messages postés 7217 Statut Membre 1 340
 
Bonjour,

Votre code doit être structuré correctement:

au lieu de :

if(isset($_POST['auteur'])) $auteur=$_POST['auteur'];
else $auteur="";


faire:

$auteur = "";
if (isset($_POST['auteur'])) {
    $auteur=$_POST['auteur'];
}


Pour voir ce qui ne va pas, en début de script faire:

print_r($_POST);


A+
0
arabii Messages postés 23 Statut Membre
 
salut

je pense pas que ça soit ça le probleme parce que les message sont bien envoyés à

la base puis bien affichés sur le site sauf le text qui vient après les voyelles avec

accents

j'ai changé l'encodage de la table à utf_general_ci et les pages php en utf8 mais en

vain

tjrs le meme probleme

merci
0
Catalunya's Son Messages postés 67 Statut Membre 1
 
s'il y a une possibilité, poster le formulaire et la page d'insertion au base pour connaitre le problème. merci :)
0