Système de rafraichissement auto

Fermé
WebLooser Messages postés 63 Date d'inscription mercredi 30 mai 2012 Statut Membre Dernière intervention 29 avril 2013 - Modifié par WebLooser le 30/05/2012 à 11:25
WebLooser Messages postés 63 Date d'inscription mercredi 30 mai 2012 Statut Membre Dernière intervention 29 avril 2013 - 30 mai 2012 à 16:37
Bonjour à tous !

Je suis nouveau sur CCM car je cherche une réponse à ma question depuis bien longtemps mais je ne trouve nul part ce qu'il me faut réellement !

J'ai créé un Tchat.
En voici le code

chat.php :


?php
session_start();
if(!isset($_SESSION['login']) || empty($_SESSION['login'])){
header("location:../../index.html");
}
include "connect.php";

?>

<html>
<head>
<title>NetDead~Tchat en ligne</title>
<link rel="stylesheet" href="design.css" />
</head>
<body>
<div id="Header">
<p><h2>Vous êtes connecté(e) en tant que : <?php echo $_SESSION['login']; ?></h2></p>
</div>
<div id="tchat">
<?php
$sql = "SELECT * FROM messages ORDER BY id DESC LIMIT 12"; //On récupère les 15 derniers messages dans la table Messages de la DataBase.
$req = mysql_query($sql) or die(mysql_error());
$d = array();
while($data = mysql_fetch_assoc($req)){
$d[] = $data;
}
for($i = count($d)-1;$i>=0;$i--)
{

?>
<p><strong>[<?php echo $d[$i]["date"]; ?>] <?php echo htmlspecialchars($d[$i]["pseudo"]); ?></strong> : <?php echo htmlspecialchars($d[$i]["message"]); ?></p> <!-- On affiche les données récupérées sur la DataBase -->
<?php
}
?>

</div>
<div id="tchatForm">
<div align="center">
<form method="post" action="traite.php">
<input type="text" name="message" style="width:70%;" >
<input type="submit" value="Envoyer">
<input type="button" value="Actualiser" Onclick="javascript:window.history.go(0)" style="postion:absolute; top:3px; right: 3px;">

</div>
</form>
</div>
</body>
</html>

Je pense que mon fichier traite.php peut vous intéresser :


<?php
session_start();
if(!isset($_SESSION['login']) || empty($_SESSION['login'])){
header("location:../../index.html");
}
// Connexion à la base de données

try
{
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=BDD', 'root', '', $pdo_options);

//récupération des valeurs des champs:
//Le Pseudo:
$pseudo = $_SESSION['login'] ;
//Le Message:
$message = $_POST["message"] ;
//date:
$heure = date("H:i");
//IP du client:
$ip = $_SERVER["REMOTE_ADDR"];

//création de la requête SQL:
$req = $bdd->prepare('INSERT INTO messages(pseudo, message, date, ip) VALUES(:pseudo, :message, :date, :ip)');
$req->execute(array(
'pseudo' => $pseudo,
'message' => $message,
'date' => $heure,
'ip' => $ip
));

// Redirection du visiteur vers la page du minichat
header('Location: chat.php');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
?>

Ce Tchat est dans un espace membre dont le pseudo correspond à ça : $_SESSION['login']

Il marche parfaitement bien mais pour qu'il soit finit il me faudrait un script qui me permette de rafraichir toutes les 2 secondes (par exemple) les messages que les membres envoie.
Je ne v eux pas en revanche que ce soit la page en elle_même qui s'actualise automatiquement mais juste le script.

Merci de votre aide :/
A voir également:

3 réponses

kevin76110 Messages postés 4273 Date d'inscription vendredi 14 août 2009 Statut Membre Dernière intervention 27 mars 2013 873
30 mai 2012 à 11:35
Hello,

Je ne saurais te donner le script en question, mais vois du côté du JavaSript et ses bibliothèque ( comme JQuery).
0
WebLooser Messages postés 63 Date d'inscription mercredi 30 mai 2012 Statut Membre Dernière intervention 29 avril 2013 7
30 mai 2012 à 16:11
D'accord, merci du conseil :)
0
WebLooser Messages postés 63 Date d'inscription mercredi 30 mai 2012 Statut Membre Dernière intervention 29 avril 2013 7
30 mai 2012 à 16:37
Ah je crois que j'ai trouvé ;D
0