Souci actualisation chat

Fermé
elchico66 Messages postés 981 Date d'inscription dimanche 22 juillet 2007 Statut Membre Dernière intervention 11 juin 2022 - 22 juin 2012 à 01:54
elchico66 Messages postés 981 Date d'inscription dimanche 22 juillet 2007 Statut Membre Dernière intervention 11 juin 2022 - 22 juin 2012 à 14:55
Bonjour,


Je suis entrain de créer un mini site de chat histoire d'améliorer mon savoir en php.

J'ai un souci sur l'actualisation de l'envoi du message, quand j'actualise j'ai de nouveau le message qui s'envoi a la BDD et qui s'affiche donc dans ma boite de chat, je voudrais annuler ça.

Dans ma table de chat mes entrées restent, et donc je voudrais que les pseudo des membres restent affichés quand je me connecte avec un autre pseudo, le problème est que quand je me connecte avec un nouveau pseudo, mon pseudo prend place des autres pseudo qui sont postés avec le message des autres membres connecté ou qu'ils ont été connecté dans ma boite de chat.
Sachez, quand le membre ce deconnecte j'ai fais pour que l'entré (l'id) de la BDD ce supprime automatiquement de la table de connexion.

Enfin mon code vous aidera beaucoup mieux à comprendre.

Page "chat.php"


<?php 
session_start();
require_once 'config.php';
if (isset($_POST['message']) && !empty($_POST['message'])){

	$req = $bdd->prepare('INSERT INTO chat_index (id, pseudo, message) VALUES (:id, :pseudo, :message)');
	$req->execute(array(
			'id' =>htmlspecialchars(''),
			'pseudo' => htmlspecialchars($_SESSION['pseudo']),
			'message'=> htmlspecialchars($_POST['message'])));
			
}

	// Récupération des 10 derniers messages
	$reponse = $bdd->query('SELECT pseudo, message FROM chat_index ORDER BY ID DESC LIMIT 0, 20');
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Chatoo</title>
<link rel="stylesheet" type="text/css" href="css/style.css"  />
<link rel="stylesheet" type="text/css" href="css/boite_chat.css"  />
</head>

<body>
<div id="en_tete"> <!--------------------------- EN TETE --------------------------->	

	<h1> <span style="font-style:italic; color:#8B006F"> C</span>hat<span style="color:white">o</span><span style="font-weight:bold">o</span> </h1> 
		<h3> Le site mini du chat </h3>
			<div class="logo_titre"><img src="images/icon_bulles.png" /></div>

</div> <!-------------------------------------- FIN EN TETE ----------------------->

<div id="menu_principal"><!-------------------- MENU HORIZONTALE ------------------>

	<ul>
		<li id="selected"><a href="index.php" > Accueil </a></li>
		<li><a href="salons_chat.php"> Salons </a></li>
		<li><a href="contact.php">Contact </a></li>
	</ul>
	
</div><!--------------------------------------- FIN MENU HORIZONTALE ------------->

<?php
echo '<span class="deco">Bonjour '.$_SESSION['pseudo']. '  <a href="deconnexion.php?pseudo='.$_SESSION['pseudo'].'">Déconnexion</a></span> ';
?>


	<div id="chat_index">
		<?php
		// Affichage de chaque message (toutes les données sont protégées par htmlspecialchars)
		while ($donnees = $reponse->fetch()){
			echo '<p><strong>' . $_SESSION['pseudo']. '</strong> : ' . htmlspecialchars($donnees['message']) . '</p>';
		}$reponse->closeCursor();
		?>
		
			<div id="champ_chat_index">
					<form action="chat.php" method="post">
				<p> <input type="text" name="message" id="message"/>
					<input type="submit" value="Envoyer"  />
				</p>
					</form>
			</div>
	</div>

</body>
</html>


Merci de m'aider
cdt
A voir également:

3 réponses

Yo

:J'ai un souci sur l'actualisation de l'envoi du message, quand j'actualise j'ai de nouveau le message qui s'envoi a la BDD et qui s'affiche donc dans ma boite de chat,

Etrange qu'il renvoi t la requête sans utiliser le bouton du formulaire.
Une question de doublon. Vous pouvez comparer au dernier message du même utilisateur(ou comparer l'id si c'est possible) pour voir si c''est le même que celui envoyé, et ne pas effectuer la requête si c'est le cas.


:Sachez, quand le membre ce deconnecte j'ai fais pour que l'entré (l'id) de la BDD ce supprime automatiquement de la table de connexion.

Pas étonnant alors qu'il ne s'affiche plus, ils ne sont plus sur la BD. Cela vient de la conception et non du code selon moi mais sans voir les tables je peut pas dire. Donnez une id au chat et gardez celle ci tant qu'il y a un membre sur le chat. Supprimer éventuellement les messages et membres des chats quand ils n'ont plus de membres.
0
irreligious Messages postés 110 Date d'inscription samedi 11 juin 2011 Statut Membre Dernière intervention 11 juin 2014 25
22 juin 2012 à 11:34
Bonjour,
Tu peut aussi creer 2 pages differentes :
afficher.php qui affichera tes messages et un formulaire d'envoi
save.php qui enregistrera les messages et redirigera vers afficher.php
0
elchico66 Messages postés 981 Date d'inscription dimanche 22 juillet 2007 Statut Membre Dernière intervention 11 juin 2022 18
22 juin 2012 à 14:52
Voila ce que j'ai quand j'actualise ma page. Un id ce rajoute.




Modifier Éditer en place Copier Effacer 21 Pionus66 comment tu va ?
Modifier Éditer en place Copier Effacer 22 Pionus66 comment tu va ?
Modifier Éditer en place Copier Effacer 23 Pionus66 comment tu va ?
Modifier Éditer en place Copier Effacer 24 Pionus66 comment tu va ?
Modifier Éditer en place Copier Effacer 25 Pionus66 comment tu va ?
Modifier Éditer en place Copier Effacer 26 Pionus66 comment tu va ?
Modifier Éditer en place Copier Effacer 27 Pionus66 comment tu va ?
Modifier Éditer en place Copier Effacer 28 Pionus66 comment tu va ?
Modifier Éditer en place Copier Effacer 29 Pionus66 comment tu va ?
Modifier Éditer en place Copier Effacer 30 Pionus66 comment tu va ?
Modifier Éditer en place Copier Effacer 31 Pionus66 comment tu va ?
Modifier Éditer en place Copier Effacer 32 Pionus66 comment tu va ?
Modifier Éditer en place Copier Effacer 33 Pionus66 comment tu va ?
Modifier Éditer en place Copier Effacer 34 Pionus66 comment tu va ?
Modifier Éditer en place Copier Effacer 35 Pionus66 comment tu va ?
Modifier Éditer en place Copier Effacer 36 Pionus66 comment tu va ?
Modifier Éditer en place Copier Effacer 37 Pionus66 comment tu va ?
Modifier Éditer en place Copier Effacer 38 Pionus66 comment tu va ?
Modifier Éditer en place Copier Effacer 39 Pionus66 comment tu va ?
Modifier Éditer en place Copier Effacer 40 Pionus66 comment tu va ?
Modifier Éditer en place Copier Effacer 41 Pionus66 comment tu va ?


Dans ma table de connexion je supprime automatiquement l'entrée du membre car c'est un chat sans inscription et donc ma table serais saturé au bout d'un certain temps.

Mais je voudrais quand meme que les pseudos restent affichés sur la boite de chat quand les membres ce déconnecte et pas que mon pseudo prenne place aux messages postés par les autre membres.

Que faire ?

#irreligious: Je ne comprend pas exactement.
0
elchico66 Messages postés 981 Date d'inscription dimanche 22 juillet 2007 Statut Membre Dernière intervention 11 juin 2022 18
22 juin 2012 à 14:55
Et dans ma table de chat quand l'ancien pseudo reste sur l'entrée...

Modifier Éditer en place Copier Effacer 55 Pionus66 tu va bien
Modifier Éditer en place Copier Effacer 56 Lila58 salut !
0