Alors voilà mon problème...
Je fais un petit forum en AJAX, et lorsque l'utilisateur post, le contenu de son message est envoyé en JS au serveur, puis traité en PHP.
Fonction JS :
Code : Tout sélectionner
function ajoutPost(idSujet) {
ajax('./forum_ajax.php', 'formPost', 'action=ajoutPost&idSujet='+idSujet+'&contenuPost='+escape(get('textarea').value), 'setTimeout("getSujet('+idSujet+', \'last\')", 1000);');
}
Traitement PHP :
case 'ajoutPost' :
include('../fonctions/forum/ajoutPost.php');
$idSujet = mysql_real_escape_string(stripslashes($_POST['idSujet']));
$contenuPost = mysql_real_escape_string(stripslashes($_POST['contenuPost']));
echo ajoutPost($idSujet, $contenuPost);
break;
Et la fonction ajoutPost :
function ajoutPost($idSujet, $contenuPost) {
/* Aucun traitement sur la variable $contenuPost n'est effectué avant cette requête */
mysql_query("INSERT INTO forum_posts (idSujet, idPosteur, time, contenuPost, typeCompte) VALUES (".$idSujet.", ".$idPosteur.", ".time().", '".$contenuPost."', '".$typeCompte."')");
}
Dans mon fichier "forum_ajax.php", j'ai cette ligne
header('Content-type: text/html; charset=iso-8859-1');
Je ne comprends vraiment pas, les accents passent très bien, tout fonctionne, sauf le caractère '+' et d'autres comme les '...' par exemple.N'hésitez pas si vous avez une piste, je suis preneur
Merci d'avance.