Oui, je vois ce que tu veux dire. j'ai peut-être oublié de dire que chat.php contient le DOM du chat et le script periodicalupdater (le 1er code que j'affiche dans ce topic).
Sauf que lorsque j'arrive sur mon site pour la première fois, j'appelle chat/chat.php avec un simple "include" en PHP.
Je met mon fichier chat.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 35 36 37
| if (isset($_SESSION['connect']) and $_SESSION['connect'] == 'ok')
{
$user = $_SESSION['login'];
echo '<div id="chat_general">
</div>
<div id="text_chat">
<form method="post" target="_self">
<input type="text" name="text_in" id="text_in" size="20" onfocus="javascript:this.value=\'\';">
<input type="submit" onclick="envoyer_text_chat(\''.$user.'\'); return false;" name="valid_text_in" id="valid_text_in" value="OK">
</form>
</div><script language="text/javascript">
new Ajax.PeriodicalUpdater(\'chat_general\', \'chat/maj_chat.php\',
{
method: \'get\',
frequency: 1,
insertion: Insertion.Top
});
</script>';
echo '';
if (isset($_GET['valid_text_in']) and $_GET['valid_text_in'] == 'ok')
{
$date = date('Y-m-d H:i:s');
$message = $_GET['text_in'];
$user = $_SESSION['login'];
if (empty($message))
{}
else
{
$sql = 'INSERT INTO chat (id,user,message,date) VALUE (NULL,\''.$user.'\',\''.$message.'\',\''.$date.'\')';
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
}
}
else
{}
}
else
{} |
Bien sur, mon fichier chat.php controle si l'utilisateur est connecté.
Donc le DOM du chat dans mon index.php :
Quand l'utilisateur est déconnecté :
<div id="general_chat"></div>
Quand l'utilisateur est connecté :
1 2 3 4 5 6 7 8
| <div id="general_chat">
<div id="chat_general"></div>
<div id="text_chat">
<form method="post" target="_self">
<input type="text" name="text_in" id="text_in" size="20" onfocus="javascript:this.value='';">
<input type="submit" onclick="envoyer_text_chat('casoars'); return false;" name="valid_text_in" id="valid_text_in" value="OK">
</form>
</div> |
Quand l'utilisateur est connecté et qu'il recharge la page :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| <div id="general_chat">
<div id="chat_general"></div>
<div id="text_chat">
<form method="post" target="_self">
<input type="text" name="text_in" id="text_in" size="20" onfocus="javascript:this.value='';">
<input type="submit" onclick="envoyer_text_chat('casoars'); return false;" name="valid_text_in" id="valid_text_in" value="OK">
</form>
</div>
<script language="text/javascript">
new Ajax.PeriodicalUpdater('chat_general', 'chat/maj_chat.php',
{
method: 'get',
frequency: 1,
insertion: Insertion.Top
});
</script>
</div> |
Je vois toujours pas pourquoi, mon script PeriodicalUpdater ne fait pas son taf lors du rechargement... c'est vrai, quoi ?! qui s'est qui paye ?
Crois-tu qu'il (le script periodicalupdater) pourrait ne plus fonctionné s'il est appelé 2 fois ?
Partager