Tuto xajax-minichat Modification ajout de BDD

maxzbossmaxzboss Messages postés 2 Statut Membre -  
maxzbossmaxzboss Messages postés 2 Statut Membre -
Bonsoir, apres la lecture du tuto sur <lien url="http://www.siteduzero.com/tutoriel-3-36169-xajax-applications-ajax-faciles-avec-php-et-xajax.html">xajax</lien> je me suis demandé comment je pourrais remplacer le .txt ou les messages sont inscris par la BDD, afin que je puisse gerer les message et les membres qui se connectes.(Edit: j'aimerais savoir comment afficher le message que je vien d'envoyer directement apres l'envoi) J'ai réfléchis quelques temps a la question, j'ai fais quelques tests ... mais ça n'a rien donné :(
Donc voila je fais appel à vous pour que vous me mettiez si possible sur la voie !

Merci d'avance Sorci3r :)

EDIT:
je rappel le code du chat
<code type="php">
<?php
//
//Notre fonction PHP pour afficher les messages
//
function afficher()
{
$reponse = new xajaxResponse();//Création d'une instance de xajaxResponse pour traiter les réponses serveur
$chat = '';//Initialisation de la variable $chat
$fichier_texte = fopen('./chat.txt', 'r');//On ouvre notre fichier texte en lecture seule
$chat = fread($fichier_texte, filesize('./chat.txt'));//On lit notre fichier et on le stocke dans la variable $chat
fclose($fichier_texte);//On ferme notre fichier texte
$reponse->assign('block', '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
$fichier_texte = fopen('./chat.txt', 'a');//On ouvre notre fichier texte en ecriture seule
fwrite($fichier_texte, addslashes('<strong>' . htmlentities(utf8_decode($donnees_formulaire['posteur'])) . ':</strong>' . htmlentities(utf8_decode($donnees_formulaire['message'])) . '<br />'));//On stocke dans notre fichier
fclose($fichier_texte);//On ferme notre fichier texte
$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->processRequest();//Fonction qui va se charger de générer le Javascript, à partir des données que l'on a fournies à xAjax APRES AVOIR DECLARE NOS FONCTIONS
?>

<!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>Chat xAjax</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, 5000);
}
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>
</head>
<body>
<div id="loadingMessage" style="font-size: 15px; color: white; position: fixe; visibility: hidden; padding: 5px; background-color: red; width: 40%;">Chargement...</div>
<div id="block"></div>
<form action="">
<fieldset>
<legend>Entrer ici votre message :</legend>
<div>
<label>Nom : <input type="text" size="15" id="posteur" name="posteur" /></label><br />
<label>Message : <input type="text" size="50" id="message" name="message" /></label><br />
<input type="submit" value="Envoyer" onclick="printLoadingMessage('Envoi du message...'); xajax_envoyer(xajax.getFormValues(this.form)); return false;" />
</div>
</fieldset>
</form>
<script type="text/javascript">
refresh();//On appelle la fonction refresh() pour lancer le script
</script>
</body>
</html>
</code>

Quelqu'un pourrait me montrer ou m'expliquer ce que je dois faire asser précisément svp ?
A voir également:

1 réponse

maxzbossmaxzboss Messages postés 2 Statut Membre 1
 
Up
1