Bonjour,
j'ai une tchat box sur mon site et je teste avec ajax l'actualisation automatique.
Donc ce que je voudrais c'est que des que qqn poste un message, ca se rafraichit sur ma page sans que j'ai à cliquez sur le bouton rafrachir sur ma page ou bien a reactualiser.

Alors j'ai fais çà :
ma page qui affiche les messages
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
<?php 
        session_start();
        include("../inc/fonctions.php"); // on inclue dans la page toutes les fonctions crées
        include("../inc/config.php"); // on inclue dans la page les variables de configuration
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
	<title>Tsukai-Anime // Chat-Box</title>
	<link rel="stylesheet" href="../design_cbox.css">
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 
<script type='text/JavaScript'>
 
	 		function getXhr(){
                                var xhr = null; 
				if(window.XMLHttpRequest) // Firefox et autres
				   xhr = new XMLHttpRequest(); 
				else if(window.ActiveXObject){ // Internet Explorer 
				   try {
			                xhr = new ActiveXObject("Msxml2.XMLHTTP");
			            } catch (e) {
			                xhr = new ActiveXObject("Microsoft.XMLHTTP");
			            }
				}
				else { // XMLHttpRequest non supporté par le navigateur 
				   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
				   xhr = false; 
				} 
                                return xhr
			}
 
			/**
			* Méthode qui sera appelée sur le click du bouton
			*/
			function go(){
				var xhr = getXhr()
				// On défini ce qu'on va faire quand on aura la réponse
				xhr.onreadystatechange = function(){
					// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
					if(xhr.readyState == 4 && xhr.status == 200){
						document.getElementById('message').innerHTML = xhr.responseText;
						//alert(xhr.responseText);
					}
				}
				xhr.open("GET","ajax.php",true);
				xhr.send(null);
			}
		</script>
 
</head>
<body onload="go()">
	<div id="message">
 
	</div>
</body>
</html>
Et la page ajax.php qui fait la requete et l'affichage des données :
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
<?php
 
				if(!mysql_connect('localhost', 'root', ''))
				{
					echo "La connexion au serveur a échouée";
				}
				else
				{
					//echo "Connexion au serveur OK";
					if(!mysql_select_db('tsukaianime_kyousou'))
					{
						echo "La connexion à la base de données a échouée";
					}
				}
		function couleur_auteur($auteur, $type)
	{
		switch ($type)
		{
			case "admin" : $auteur = "<span class='auteur_admin'>$auteur</span>"; break;
			case "modo" : $auteur = "<span class='auteur_modo'>$auteur</span>"; break;
			default : $auteur = "<span class='auteur_user'>$auteur</span>";
		}
 
		return $auteur;
	}
 
	function bbcode($texte)
	{
		//Smileys
		$texte = str_replace(":)", "<img src='smiley/smile.gif' alt=':)' />", $texte);
		$texte = str_replace(":D", "<img src='smiley/bigsmile.gif' alt=':D' />", $texte);
		$texte = str_replace(":(", "<img src='smiley/sad.gif' alt=':(' /", $texte);
		$texte = str_replace(":cry", "<img src='smiley/cry.gif' alt=':cry' />", $texte);
		$texte = str_replace(":confus", "<img src='smiley/confus.gif' alt=':confus' />", $texte);
		$texte = str_replace(":cool", "<img src='smiley/cool.gif' alt=':cool' />", $texte);
		$texte = str_replace(":frown", "<img src='smiley/frown.gif' alt=':frown' />", $texte);
		$texte = str_replace(":furious", "<img src='smiley/furious.gif' alt=':furious' />", $texte);
		$texte = str_replace(":glad", "<img src='smiley/glad.gif' alt=':glad' />", $texte);
		$texte = str_replace(":heart", "<img src='smiley/heart.gif' alt=':heart' />", $texte);
		$texte = str_replace(":lol", "<img src='smiley/lol.gif' alt=':lol' />", $texte);
		$texte = str_replace(":mdr", "<img src='smiley/mdr.gif' alt=':mdr' />", $texte);
		$texte = str_replace(":nervous", "<img src='smiley/nervous.gif' alt=':nervous' />", $texte);
		$texte = str_replace(":tired", "<img src='smiley/tired.gif' alt=':tired' />", $texte);
		$texte = str_replace(":tongue", "<img src='smiley/tongue.gif' alt=':tongue' />", $texte);
		$texte = str_replace(":wink", "<img src='smiley/wink.gif' alt=':wink' />", $texte);
		$texte = str_replace(":noel", "<img src='smiley/noel.gif' alt=':noel' />", $texte);
		$texte = str_replace(":pogo", "<img src='smiley/pogo.png' alt=':pogo' />", $texte);
		$texte = str_replace(":boulet", "<img src='smiley/boulet.gif' alt=':boulet' />", $texte);
 
		//BB Code		
		$texte = preg_replace("#\[url=(\S+)\](\S+)\[/url\]#iU", "<a href='$1' target='_blank'>$2</a>", $texte);
		$texte = preg_replace("#\[b\](.+)\[/b\]#iU", "<b>$1</b>", $texte);
		$texte = str_replace("[br]", "<br />", $texte);
 
		 if (eregi("^http://", $texte)) 
		 {
			$texte=str_replace($texte, "<a href='$texte' target='_blank'>$texte</a>", $texte);
		 }
 
 
 
		return $texte;
	}
 
 
 
 
 
		if ( isset($_GET[page]) )
			$limit = ($_GET[page] - 1) * $config_affich_nb_mess;
		else
		{
			$_GET[page] = 1;
			$limit = 0;
			$config_affich_nb_mess = 20; // Détermine le nombre de message afficher par page.
		}
 
		// On selectionne les 50 derniers messages et les infos de l'auteur de chacun de ses messages	
		$req = "SELECT idMESSAGE, MEMBRE_idMEMBRE, text_msg, date_msg, idMEMBRE, pseudo_mb, statut_mb
				FROM message, membre
				WHERE membre.idMEMBRE = message.MEMBRE_idMEMBRE
				AND valid_msg =1
				ORDER BY date_msg DESC 
				LIMIT $limit, $config_affich_nb_mess";
 
 
		$query = mysql_query($req) or die("Erreur sur la requêtte : $req<br />".mysql_error());
 
		if ( $config_mess_accueil != "" )
		{
			echo "<div id='message2'>";
			echo "<div class='mess_accueil'>$config_mess_accueil</div></div>";
		}
 
		$couleur = 0;
		while ( $message = mysql_fetch_array($query) )
		{			
			$nb = ($couleur % 2) + 1;
			$date = date($config_format_date, $message[date_msg]);			
			$auteur = couleur_auteur($message[pseudo_mb], $message[statut_mb]);
			$texte = stripslashes($message[text_msg]);
			$texte = bbcode($texte);
 
 
			echo "<div id='message$nb'>";
			echo "<span class='date'> $date</span><br />";
			if ( ($_SESSION[cbox_type] == "admin") OR ($_SESSION[cbox_type] == "modo") )
			{
			?>
				<span class='action_admin'>
 
					<a href="<?php echo "form.php?supp=$message[idMESSAGE]"?>" target='cboxform' title="Supprimer">[x]</a>
 
					<a href="<?php echo "form.php?ban=$message[idMEMBRE]"?>" target='cboxform' title="Bannir">[o]</a>
				</span>
 
			<?php
                        }
                        ?>
				<div class='message_titre'><?php echo $auteur; ?> : </div>
				<div id='messages'><?php echo $texte; ?></div>
 
			</div>
			<?php
                        
                        $couleur++;
                }
                
                $nb = ($couleur % 2) + 1;
                
                if ( $_GET[page] <= 1 )
                        $page_moins = 1;
                else
                        $page_moins = $_GET[page] - 1;
                
                if ( mysql_num_rows($query) < $config_affich_nb_mess )
                        $page_plus = $_GET[page];
                else
                        $page_plus = $_GET[page] + 1;
                
                echo "<div id='message$nb'><div class='page'><a href='main.php?page=$page_moins'><<</a> $_GET[page] <a href='main.php?page=$page_plus'>>></a></div></div>";
                
                mysql_close();
                
?>
Le problème est que ça ne marche pas !
En local, quand je poste, j'ai l'impression que ça rafraichit car ça scintille
mais sur le serveur non. Et je n'ai pas l'affiche des caractères spéciaux :/

Quelqu'un pourrait-il m'aider pour résoudre ces 2 soucis svp ?

Merci d'avance.