par
Ultim4T0m » 06 déc. 2008, 00:38
Bonsoir tout le monde,
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);');
}
Lors de cette étape, je vois sur Firebug que tout le contenu du message est bien envoyé (même les caractères '+'), donc pas de soucis, ça doit pas venir du JS...
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.
Bonsoir tout le monde,
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]
function ajoutPost(idSujet) {
ajax('./forum_ajax.php', 'formPost', 'action=ajoutPost&idSujet='+idSujet+'&contenuPost='+escape(get('textarea').value), 'setTimeout("getSujet('+idSujet+', \'last\')", 1000);');
}
[/code]
Lors de cette étape, je vois sur Firebug que tout le contenu du message est bien envoyé (même les caractères '+'), donc pas de soucis, ça doit pas venir du JS...
Traitement PHP :
[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;
[/php]
Et la fonction ajoutPost :
[php]
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."')");
}
[/php]
Dans mon fichier "forum_ajax.php", j'ai cette ligne
[php]
header('Content-type: text/html; charset=iso-8859-1');
[/php]
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.