Bonjour,

J'ai un petit soucis. Je veux faire un chat avec php. Donc j'utilise la méthode ajax afin de rafraichir le div ou se situe la discussion. Mais parfois ça fonctionne, et parfois il ne rafraichi pas la page. Même en étant sur le même PC. Donc si quelqu'un pourrait me donner un coup de main en disant ou ça coince, ça serait très gentil.

Merci d'avance

Page de mon chat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
 
	<script type="text/javascript">
	function mise_a_jour_affichage()
	{
		var xhr_object = null;
 
		if(window.XMLHttpRequest) // Firefox   
			xhr_object = new XMLHttpRequest();   
		else if(window.ActiveXObject) // Internet Explorer   
			xhr_object = new ActiveXObject("Microsoft.XMLHTTP");   
		else 
			{ // XMLHttpRequest non supporté par le navigateur   
			alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");   
			return;   
			}   
 
		var donnee = null;   
 
		xhr_object.open("GET", "ajax/mise_a_jour_affichage_chat.php", true);   
		xhr_object.send(null);
		xhr_object.onreadystatechange = function()
		{   
			if(xhr_object.readyState == 4)
				{
				document.getElementById("texte_chat").innerHTML = xhr_object.responseText
				var position=document.getElementById('bas').offsetTop;
				document.getElementById("texte_chat").scrollTop = position;
				}   
		}
	}
 
	function poster_message()
	{
		if (document.getElementById("nouveau_message").value != "")
			{
			var xhr_object = null;
 
			if(window.XMLHttpRequest) // Firefox   
				xhr_object = new XMLHttpRequest();   
			else if(window.ActiveXObject) // Internet Explorer   
				xhr_object = new ActiveXObject("Microsoft.XMLHTTP");   
			else 
				{ // XMLHttpRequest non supporté par le navigateur   
				alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");   
				return;   
				}   
 
			var donnee = null;   
 
			xhr_object.open("GET", "ajax/poster_chat.php?texte_chat="+ document.getElementById("nouveau_message").value, true);   
			xhr_object.send(null);
			}
	}
	setInterval("mise_a_jour_affichage()", 3000);
	</script>
	<body OnLoad="javascript : mise_a_jour_affichage();">
	<p class="titre_texte">Bienvenue sur le chat de Lilwen Sacrée</p>
	<div id="texte_chat" style="width : 700px; height : 400px;; background-color : #E5E5E5; border : 1px solid #000000; text-align : left; overflow: auto; bottom : 0px;">
	</div>
	<br>
	<p style="font-size : 12px; font-weight : bold; margin-bottom : 0px; margin-left : 37px;">Ecrivez votre message</p>
	<br>
	<textarea id="nouveau_message" style="border : 1px solid black; background-color : #E5E5E5; width : 700px; height : 70px;"></textarea><br>
	<input type="submit" OnClick="javascript : poster_message();" value="Envoyer" class="bouton">
Page de récupération de la discussion (mise_a_jour_affichage_chat.php):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
<?
include('../connexion.php');
 
//supprime les messages de plus de 50 messages
$requete_selection_nombre_total_message = "SELECT * FROM tbl_chat";
$nombre_total_message = mysql_num_rows(mysql_query($requete_selection_nombre_total_message));
 
if ($nombre_total_message > 50)
	{
	$requete_suppression_message = "DELETE FROM tbl_chat ORDER BY id_chat ASC LIMIT ". ($nombre_total_message - 50);
	mysql_query($requete_suppression_message);
	}
 
$message = "";
 
$requete_selection_chat = "SELECT * FROM tbl_chat, tbl_utilisateur WHERE tbl_chat.id_utilisateur = tbl_utilisateur.id_utilisateur ORDER BY date_chat ASC";
$renvoi_selection_chat = mysql_query($requete_selection_chat);
 
while($chat = mysql_fetch_array($renvoi_selection_chat))
	{
	$message .= '<p style="padding-bottom : 0px; padding-top : 0px;"><b>'. $chat['identifiant_utilisateur'] .'</b> ('. strftime("%d.%m.%Y à %H:%M", $chat['date_chat']) .') :<br>';
	$message .= $chat['texte_chat'].'<br></p>';
	}
$message .= "<a id=\"bas\" name=\"bas\"> </a>";
echo mb_convert_encoding($message, "UTF-8", "ISO-8859-1");
?>