Fefel73 Admin
Nombre de messages : 53 Date d'inscription : 30/04/2007
| Sujet: Nouvelle version du chat Sam 8 Déc 2007 - 16:21 | |
| Pour le rafraichissement automatique j'ai dû modifier une grosse partie du code.
Maintenant toutes les 3 secondes (3000ms) une fonction go se lance et actualise la div "conversation" par un include "message.php"
Il y a donc plus de relevé de message dans son2.php. Pour le reste (ormi les fonction java du debut tout est pareil)
Le probleme est que normalement sa devrait marché avec mozilla, internet explorer et opéra mais sa ne fonctionne pas avec mozilla.
Je te propose un vote pour savoir si on grade les deux (son.php et son2.php), ou lequelle on supprime.
A+ | |
|
Fefel73 Admin
Nombre de messages : 53 Date d'inscription : 30/04/2007
| Sujet: Re: Nouvelle version du chat Sam 8 Déc 2007 - 16:38 | |
| Code de son2.php - Code:
-
<?php session_start();?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252"> <TITLE>Son</TITLE> <link rel="stylesheet" media="screen" type="text/css" title="Exemple" href="design2.css" /> <script type='text/javascript'> //java pour actualiser le contenue de la div "conversation" en utilisant le code message.php 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){ leselect = xhr.responseText; // On se sert de innerHTML pour rajouter les options a la liste document.getElementById('conversation').innerHTML = leselect; } }
// Ici on va voir comment faire du post xhr.open("POST","message.php",true); // ne pas oublier ça pour le post xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); xhr.send(); }
</script> <script type='text/javascript'> go(); </script> </HEAD> <BODY> <p>
?>
<div id="formulaire"> <?php echo '<form method="post" action="son2.php"';?> Son ? <?php
$temp_raf=10; if($son==oui) //condition qui permet de memoriser le choix du son { ?> <br> <input type="radio" name="son" value="oui" checked="checked" /> Oui <input type="radio" name="son" value="non" /> Non <?php
} else{ ?> <BR> <input type="radio" name="son" value="oui" /> Oui <input type="radio" name="son" value="non" checked="checked"/> Non <?php } ?> </p> <p>
<input style="width:60%" class="FormTexte" type="text" name="message">
<input type="submit" value="Envoyer" /> </p> </form> </div> <p> <?php $n=1; if (isset($_SESSION['pseudo']) AND isset($_POST['message'])) // Si les variables existent { if ($_SESSION['pseudo'] != NULL AND $_POST['message'] != NULL) // Si on a quelque chose ? enregistrer { // D'abord, on se connecte ? MySQL mysql_connect("localhost", "pinfelt", "sasuke73"); mysql_select_db("pinfelt"); // On utilise les fonctions PHP mysql_real_escape_string et htmlspecialchars pour la s?curit? $message = mysql_real_escape_string(htmlspecialchars($_POST['message'])); $pseudo = mysql_real_escape_string(htmlspecialchars($_SESSION['pseudo'])); $son=$_POST['son']; // Ensuite on enregistre le message mysql_query("INSERT INTO chat_message VALUES('', '$message', '$pseudo')"); mysql_query('UPDATE chat_membre SET vu= \'1\'WHERE pseudo!='.$pseudo); mysql_query('UPDATE chat_membre SET diver= \'1\' WHERE pseudo=\'' . $pseudo . '\''); mysql_query('UPDATE chat_membre SET timestamp=' . time() . ' WHERE pseudo=\'' . $pseudo . '\''); // On se d?connecte de MySQL mysql_close(); } } ?>
</p>
<?php// Maintenant on doit r?cup?rer les 10 derni?res entr?es de la table?> <div id='conversation' style='display:inline'> </div> <script type='text/javascript'> setInterval("go()", 3000); //setInterval("new()", 3000); </script>
<p><a href="son.php?archive=1">Messages archivés</a></p>
<?php mysql_connect("localhost", "pinfelt", "sasuke73"); mysql_select_db("pinfelt"); $timestamp_5min = time() - (60 * 2); // 60 * 2= nombre de secondes écoulées en 2 minutes mysql_query('UPDATE chat_membre SET diver=\'0\' WHERE timestamp < ' . $timestamp_5min); mysql_close();
// Fin de la boucle, le script est termin? ! ?>
</p> </body> </html>
Dernière édition par le Sam 8 Déc 2007 - 16:46, édité 2 fois | |
|
Fefel73 Admin
Nombre de messages : 53 Date d'inscription : 30/04/2007
| Sujet: Re: Nouvelle version du chat Sam 8 Déc 2007 - 16:44 | |
| Code message.php - Code:
-
<html> <body>
<div id="menu"> <p>Membre connectés :<br><br><?php mysql_connect("localhost", "pinfelt", "sasuke73"); mysql_select_db("pinfelt"); $reponse = mysql_query("SELECT * FROM chat_membre WHERE diver=1"); while ($donnees = mysql_fetch_array($reponse) ) {echo '<p><A HREF="mail.php?id='.$donnees['id'].'">'.$donnees['pseudo'].'</A></P>'; } mysql_query('UPDATE chat_membre SET timestamp=' . time() . ' WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\''); mysql_query('UPDATE chat_membre SET diver=\'1\' WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\''); ?> </p> </div> <div id="corps"> <?php //affichage des messages mysql_connect("localhost","pinfelt","sasuke73"); mysql_select_db("pinfelt"); $res = mysql_query("SELECT * FROM chat_message ORDER BY ID DESC LIMIT 0,10 "); while($donnees = mysql_fetch_assoc($res)){ echo '<p><strong>'.$donnees['pseudo'].'</strong> : '.$donnees['message'].'</p>'; } //jouer un son pour les nouveau message : on met des variables appeler "vu" a 1 lorsqu'un nouveau message est posté puis on met "vu" a 0 lorsque le son a été jouer $res = mysql_query('SELECT * FROM chat_membre WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\''); //on selectionne son champ (grace a l'adresse ip recupéré sur ok.php) while($donnees = mysql_fetch_assoc($res)) { if($donnees['vu']=='1') { echo '<embed src="http://pinfelt.free.fr/ding.wav" alt="ding" title="ding" autostart="True" loop="False" class="snd_intro_" />'; //jouer un son mysql_query('UPDATE chat_membre SET vu=\'0\' WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\''); } }//mise a jour des contact en ligne mysql_query('UPDATE chat_membre SET timestamp=' . time() . ' WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\''); mysql_query('UPDATE chat_membre SET diver=\'1\' WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\''); $timestamp_5min = time() - (60 * 2); // 60 * 2= nombre de secondes écoulées en 2 minutes mysql_query('UPDATE chat_membre SET diver=\'0\' WHERE timestamp < ' . $timestamp_5min); mysql_close(); ?> </div> </html> </body>
| |
|
Contenu sponsorisé
| Sujet: Re: Nouvelle version du chat | |
| |
|