Bonsoir !
J'ai un petit soucis ..
En fait, j'ai mon tchat, que je rafra�chis toutes les x secondes en ajax.
Le probl�me, c'est qu'au lieu de m'afficher les smileys, il m'affiche le code correspond aux smileys
Exemple ( :1: >
) :
Avec ajax il va m'afficher �a :1:
Mais sans l'ajax, il va m'afficher �a
Quand je vire le rafra�ssement ajax, j'ai bien l'affichage de mes smileys.
Si quelqu'un pouvait m'aider ... �a serait sympa, car je vois le probl�me, en fait mon object xhr r�cup�re les informations en texte, donc lors de l'affichage, il m'affiche le code, et non le smiley, mais j'ai pas r�ussi � trouver une solution 
Je vous met le code.
ajax.js
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
|
function get_Xhr()
{
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
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
return xhr_object;
}
function refresh_div()
{
var xhr_object = get_Xhr();
xhr_object.open("GET", "messagetchat.php", true);
xhr_object.onreadystatechange = function()
{
if(xhr_object.readyState == 4)
{
document.getElementById('tchat').innerHTML = xhr_object.responseText;
}
}
xhr_object.send(null);
setTimeout('refresh_div()', 5000);
} |
messagetchat.php
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
|
<?php
include 'bdd/parametres.php';
$requete = "SELECT * FROM msgtchat Order by idmsg Desc";
$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 = str_replace(":$i:","<img src='smileys/$i.gif' alt='' />", $msg);
}
$requete2 = "SELECT login, sexe FROM membres WHERE idmembre ='$idmembre' ";
$resultat2 = mysql_query($requete2)
OR die('Erreur SQL');
$lecture2 = mysql_fetch_array($resultat2);
$login = $lecture2['login'];
$sexe = $lecture2['sexe'];
?>
<font color="<?php if($sexe == 'F') { echo "#ff229e"; } else { echo "#4c22ff"; } ?>"><b><?php echo $login; ?></b></font> <b>:</b> <?php echo $msg; ?>
<br />
<?php
}
?> |
EDIT : Je viens de remarquer un truc qui fonctionne, mais bon ...
si j'ai 100 smileys ... �a va faire 100 lignes de code 
Quand je met
$msg = str_replace(":1:","<img src='smileys/1.gif' alt='' />", $msg);
A la place de
$msg = str_replace(":$i:","<img src='smileys/$i.gif' alt='' />", $msg);
�a fonctionne, mon smiley
est bien affich� ... mais bon, comment puis-je fairep our que �a fonctionne quand je met une variable � la place du nombre ? pour pouvoir mettre �a dans une boucle pour ..
Partager