Le message "Récupération des messages..." reste constamment visible, et je ne vois pas les messages postés...
Merci pour votre aide !
<?
function afficher()
{
$reponse = new xajaxResponse();//Création d'une instance de xajaxResponse pour traiter les réponses serveur
$chat = '';//Initialisation de la variable $chat
$resultat = mysql_query("SELECT * FROM `minichat` ORDER BY `id` ")or die(mysql_error());
while ($donnees = mysql_fetch_assoc($resultat)) {
$chat .=html_entity_decode($donnees['pseudo']).''.parse(stripslashes(nl2br($donnees['message']))).'';
}
$reponse->addAssign('all_chat', 'innerHTML', $chat);//Enfin, on change le contenu du div block par le contenu de $chat
$reponse->script("hideLoadingMessage();");//ON CACHE LE MESSAGE DE CHARGEMENT
return $reponse;
}
//
//Notre fonction PHP envoyer pour envoyer un message
//
function envoyer($donnees_formulaire)
{
$reponse = new xajaxResponse();//Création d'une instance de xajaxResponse pour traiter les réponses serveur
$pseudo = htmlentities($_SESSION['pseudo'], ENT_QUOTES);
if($message!=''){
mysql_query("INSERT INTO `minichat` (`message`, `pseudo`, `date`) VALUES ('".$message."', '".$pseudo."', ".time().")");
}
$derniere_id=mysql_fetch_array(mysql_query('SELECT id FROM minichat ORDER BY id DESC LIMIT 19, 1')); //changer le 9 si on veut garder plus ou moins de 10 messages
mysql_query('DELETE FROM chat WHERE id<'.$derniere_id['id']);
$reponse->clear('message', 'value');//On vide le champ contenant le message du posteur
$reponse->call('xajax_afficher');//On appelle la fonction afficher pour afficher les messages et aussi pour que le posteur voit son message à l'écran
$reponse->script("hideLoadingMessage();");//ON CACHE LE MESSAGE DE CHARGEMENT
return $reponse;
}
//
//Ouverture de la librairie xajax
//Instanciation d'un objet de la classe xajax, puis déclaration de nos fonctions php
//
require_once('../xajax_core/xajax.inc.php');
$xajax = new xajax(); //On initialise l'objet xajax
$xajax->setCharEncoding('iso-8859-1');//On précise à xAjax qu'on souhaite travailler en ISO-8859-1
$xajax->register(XAJAX_FUNCTION, 'afficher');//on enregistre nos fonctions
$xajax->register(XAJAX_FUNCTION, 'envoyer');
$xajax
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title><?php echo $titre; ?> - G-Ski</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<?php $xajax->printJavascript(); /* Affiche le Javascript */?>
<script type="text/javascript">
function refresh()//script javascript qui va appeler le fonction afficher toutes les 5 secondes
{
printLoadingMessage('Récupération des messages...');//On va appeler xajax_afficher, alors juste avant on affiche notre message
xajax_afficher();
setTimeout(refresh, 4000);
}
function printLoadingMessage(loadingMessageText)
{
if(!loadingMessageText)//Si aucun message personnalisé n'a été précisez on lui donne le message par defaut
{
loadingMessageText = 'Chargement...';
}
var parentNode = document.getElementById('loadingMessage');//On récupère le noeud parent qui est la balise div
var textNode = document.createTextNode(loadingMessageText);//On crée un noeud enfant qui est tout simplement le texte
parentNode.replaceChild(textNode, parentNode.firstChild);//On accroche le texte à la balise div
document.getElementById('loadingMessage').style.visibility='visible';//Puis on rend visible le bloc
}
function hideLoadingMessage()
{
document.getElementById('loadingMessage').style.visibility='hidden';//On rend le message invisible
}
</script>
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.