Bonsoir.
Bon voilà je fais appel à vous, car là je vois pas mon problème ...
En fait, j'ai un tchat, et je veux que les messages du tchat qui sont dans un div se rafraîchissent toutes les x secondes ...
Etant en local, je test juste si les messages s'affichent au chargement de la page index.php.
Donc je fais ça en AJAX ... le problème c'est que ça ne marche pas et que j'ai aucune erreur qui s'affiche![]()
Je vous met le code, en espérant que vous allez trouver mon problème, car ça fait 2h que je cherche, que j'essai de me renseigner, mais aucune réponse![]()
Dans le javascript, j'ai mis des alert() pour voir si je rentrais bien dedans, mais je rentre pas à partir de xhr.onreadystatechange = function()
index.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Tchat</title>
<link rel="stylesheet" type="text/css" href="css/css.css" />
<script type="text/javascript" src="js/fonctions.js"></script>
</head>
<body onLoad='apercu();'>
<div id="tchat"></div>
</body>
</html>
fonctions.js
function getXhr()
{
var xhr; // création de l'instance de l'objet
if (window.XMLHttpRequest) // Firefox et autres
{
xhr = new XMLHttpRequest();
alert('ok1');
}
else if (window.ActiveXObject) //ie
{
xhr = new ActiveXObject('Microsoft.XMLHTTP');
alert('ok2');
}
else
{
alert('JavaScript : votre navigateur ne supporte pas les objets XMLHttpRequest...');
xhr = null;
}
return xhr;
}
function apercu()
{
var xhr = getXhr();
xhr.open('POST','messagetchat.php',true);
xhr.onreadystatechange = function()
{
alert('onrentre');
if (xhr.readyState == 4 && xhr.status == 200)
{
alert('ok3');
document.getElementById('tchat').innerHTML = xhr.responseText;
}
else
{
alert('erreur');
}
}
xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded');
}
messagetchat.php
<?php
include 'bdd/parametres.php';
$requete = "SELECT * FROM msgtchat Order by idmsg Desc LIMIT 0,50";
$resultat = mysql_query($requete)
OR die ('Erreur sur la requête');
while ($curseur = mysql_fetch_array($resultat))
{
$idmembre = $curseur['idmembre'];
$msg = $curseur['msg'];
$time = $curseur['time'];
$date = $curseur['date'];
$heure = $curseur['heure'];
for ($i=1; $i<=$_SESSION['nbsmiley']; $i++)
{
$msg = ereg_replace(":$i:","<img src='smileys/$i.gif' alt='' />", $msg);
}
$requete2 = "SELECT login FROM membres WHERE idmembre ='$idmembre' ";
$resultat2 = mysql_query($requete2)
OR die('Erreur SQL');
$lecture2 = mysql_fetch_array($resultat2);
$login = $lecture2['login'];
echo $login; ?> <b>:</b> <?php echo $msg; ?><br />
<?php
}
?>
J'espère que vous pourrez m'aider.
Cordialement
Partager