Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème pour chat

    21 décembre 2010 à 15:57:41

    Bonjour à tous.
    Ayant voulu améliorer mon chat, je suis tomber sur un tutoriel ajax qui permet de créer un chat sans rechargement de page.
    Tout d'abord voici le code de mes 2 pages:

    chat.php
    <?php
    session_start();
    include ('includes/haut.php');
    include ('includes/banniere.php');
    include ('includes/menu_gauche.php');  ?>
    	<head>
    		<script type="text/javascript" src="jquery.js"></script>
    	</head>
    
    	<body>
    	<div id="corps">
    	<?php if (isset($_SESSION['pseudo']))
    	{
    	?>
    <img src="images/bannieres/chat.png" />
    <input type="text" id="pseudo" width="0%" value="O" /><br/>
    		 <input type="text" id="message" style="width:400px;" />
    		<input type="submit" value="envoyer" onclick="envoi();" /><br /><br/>
    		<div id="Tchat"></div><br />
    
    		
    
    
    
    	<div id="etat"></div>
    
    
    <script language="javascript" type="text/javascript">
    function refreshTchat(){
    $.ajax({ type: "GET", url: "refresh.php", data: "action=refresh", success: function(msg){ document.getElementById("Tchat").innerHTML = msg; } });
    setTimeout("refreshTchat()",1000); // ce bout de code permet de relancer la function refreshTchat toutes les 1000 milliSecondes c'est à dire toutes les secondes 
    }
    
    function envoi(){
    var message = document.getElementById("message").value;
    var pseudo = document.getElementById("pseudo").value;
    $.ajax({ type: "GET", url: "refresh.php", data: "action=envoi&message="+message+"&pseudo="+pseudo, success: function(msg){ document.getElementById("etat").innerHTML = msg;} });
    }
    
    refreshTchat();
    </script>
    	<?php
    	}
    	?>
    	</div>
    </body>
    </html>
    


    refresh.php
    <?php 
    session_start();
     
    header("Content-Type: text/html");// un petit header pour ne pas que tout se mélange ( ne cherchez pas lol)
    
    mysql_connect('localhost', 'root', '');//    (1)
    
    mysql_select_db("footbet");
    
    ?>
    <div id="chat">
    <table>
    <tbody>
    <?php
    
    if(isset($_GET['action']) AND $_GET['action'] == "refresh"){//    (2)
    
    $requete = "SELECT id, pseudo, message FROM chat ORDER BY ID DESC"; //   (3)
    
    $reponse = mysql_query($requete) or die (mysql_error());//    (4)
    
    
    
    while($donnees = mysql_fetch_array($reponse)){//    (6)
    include('includes/connexion.php');
    $req = $bdd->prepare("SELECT pseudo, avatar FROM membres WHERE pseudo = ?");
    $req->execute(array($donnees['pseudo']));
    while ($donnees2 = $req->fetch())
    {
    ?>
    <tr>
    <td width="6%"><img src="<?php echo $donnees2['avatar']; ?>" width="35" height="35" /></td>
    <td><?php echo $donnees['pseudo']; ?> <br/>
    <strong><?php echo $donnees['message']; ?></strong></td>
    </tr>
    <?php
    
    }
    }
    
    }
    elseif(isset($_GET['action']) AND isset($_GET['message']) 
    AND $_GET['message'] != "" AND $_GET['action'] == "envoi" )
    {
    $message  = mysql_real_escape_string(htmlspecialchars($_GET['message']));//    (12)
    $pseudo = $_SESSION['pseudo'];//    (14)
    $requete  = "INSERT INTO chat VALUES('', '$pseudo','$message')"; //   (15)
    mysql_query($requete) or die (mysql_error());//    (16)
    
    
    }
    
    ?>
    </tbody>
    </table>
    </div>
    


    J'ai donc adapté ce chat pour un espace membre, donc je voudrai logiquement enlever le bouton pseudo, seulement dès que je l'enlève les messages ne rentrent plus dans la bdd.

    Autres questions, comment faire disparaitre les caractères : � qui remplacent les éèéà etc ?

    Merci d'avance =) !
    • Partager sur Facebook
    • Partager sur Twitter

    Problème pour chat

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown