Chatavec actualisation auto

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Chatavec actualisation auto

Re: Chatavec actualisation auto

par Kyuu » 11 avr. 2012, 17:16

UP s'il vous plait :s

Chatavec actualisation auto

par Kyuu » 10 avr. 2012, 16:27

Bonsoir,

J'ai créé mon chat à l'aide du TP sur le PHP. Actuellement, il faut appuyer sur un bouton pour actualiser le chat, c'est vraiment... Pas super.
Je voudrais faire en sorte que mon chat s'actualise lui-même sans recharger la page.
J'ai entendu parler d'une méthode, le xAjax. J'ai donc était regarder <lien url="http://www.siteduzero.com/tutoriel-50-3 ... x.html">le tutoriel sur le xAjax</lien> mais cela s'applique sur un fichier texte et je voudrais l'adapter sur une base de donnée.
Si vous pouviez m'aider à transformer ce chat en chat xAjax, je vous en serez infiniment reconnaissant :)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
   <head>
       <title>Super Mario Sokoban</title>
       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	   <link rel="stylesheet" media="screen" type="text/css" title="Exemple" href="CSS.css" />
   </head>
 
	<body>
		<!-- L'en-tête -->
		<div id="en_tete"><a href="Accueil.html"><img src="http://i48.servimg.com/u/f48/17/08/18/10/titre10.png" ></a></div>
	   
		<!-- Cadre interieur -->
		<div class="remplissage">
	   
			<!-- Les menus -->
			<div id="menu">
				<table height="100%">
					<tr height="100%">
						<td><a href="Accueil.html"><div class="titre_menu">...Accueil... |</div></a>
						</td>
						<td><a href="Jeu.html"><div class="titre_menu">...Le Jeu... |</div></a>
						</td>
						<td><a href="Telechargement.html"><div class="titre_menu">...Telechargement... |</div></a>
						</td>
						<td><a href="Chat.php"><div class="titre_menu">...Chat... |</div></a>
						</td>
						<td><a href="Equipe.html"><div class="titre_menu">...L'Equipe... |</div></a>
						</td>
					</tr>
				</table>
			</div>
 
			<!-- Le corps -->
			<div id="corps"> 
				<div class="banniere"></div>
				<table class="boite_cadre" width="90%" height="100%">
					<tr>
						<td>
							<div class="boite">
								<div class="titre_boite">Chat</div>
									<div class="cadre">
										<table width ="100%">
											<tr>
												<td align="center">
													<form action="Chat2.php" method="post">
														<p>
															<!-- On insère un formulaire réservé à la saisie du pseudo par l'utilisateur et limité à 15 caractères... !-->
															<label for="pseudo">Pseudo</label><br />
															<?php
															if (isset($_POST['pseudo']))
															{ ?>
																<input class ="input_cb" type="text" name="pseudo" id="pseudo" value="<?php echo $_POST['pseudo']; ?>" maxlength="15" /><br /> <?php
															}
															else
															{ ?>
																<input class ="input_cb" type="text" name="pseudo" id="pseudo" value="" maxlength="15" /><br /> <?php
															} ?>
															<!-- ... puis un formulaire réservé à la saisie du message par l'utilisateur. !-->
															<label for="message">Message</label><br />
															<input class ="input_cb" name="message" id="message"></input><br />
															<input class ="bouton" type="submit" value="Envoyer" />
															<input class ="bouton" type="submit" value="Actualiser">
														</p>
													</form>
												</td>
												<td>
													<div class="messages_createur">
														Bonjour, ce chat n'est peut-être pas fonctionnel à 100% étant donné que je l'ai créé moi-même et n'étant qu'un novice dans ce langage, j'ai fais ce que j'ai pu.</br>
														J'espère cependant qu'il vous sera utile et que vous saurez l'apprécier!
														Kagami
													</div>
												</td>
											</tr>
										</table>
										
										<div class="messages">
										<?php
										mysql_connect("localhost", "root", "");
										mysql_select_db("bdd-chat");
										// Si les variables $_POST['pseudo'] et $_POST['message'] existent...
										if (isset($_POST['pseudo']) AND isset ($_POST['message']))
										{
											// ... et si elles ne sont pas nulles (l'utilisateur a bien rempli tous les champs)...
											if ($_POST['pseudo'] != NULL AND $_POST['message'] != NULL)
											{
												// ... alors on sélectionne les champs "ID", "pseudo" et "message" de la dernière entrée de la table "minichat".
		  										$reponse0 = mysql_query("SELECT ID, pseudo, message FROM gestionchat ORDER BY ID DESC LIMIT 0, 1");
		   										$der = mysql_fetch_array($reponse0);
												// Si un MÊME utilisateur n'a pas posté deux fois de suite un message identique...
												if ($_POST['message'] != $der['message'] OR ($_POST['message'] == $der['message'] AND $_POST['pseudo'] != $der['pseudo']))
												{
													$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
													$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
													// ... alors on enregistre la date d'envoi du message, et le pseudo et le message postés par l'utilisateur...
													mysql_query("INSERT INTO gestionchat(ID, date, pseudo, message) VALUES('', NOW(), '$pseudo', '$message')");
													// ... et on compte le nombre d'entrées de la table "minichat".
													$reponse2 = mysql_query("SELECT COUNT(*) AS compte FROM gestionchat");
													$compte = mysql_fetch_array($reponse2);
													// Si le nombre d'entrées de la table "minichat" dépasse 500...
													if ($compte['compte'] > 500)
													{
														// ... alors on supprime l'entrée la plus ancienne.
														mysql_query("DELETE FROM gestionchat WHERE ID = $der[ID] - 499");
													}
												}
											}
											// Sinon, si l'utilisateur n'a pas indiqué de pseudo...
											elseif ($_POST['pseudo'] == NULL AND $_POST['message'] != NULL)
											{
												// ... alors on lui affiche un message d'erreur.
												?>
												<p class="erreur">
													Veuillez indiquer un pseudonyme dans le formulaire pr&eacute;vu &agrave; cet effet.
												</p>
												<?php
											}
											// Sinon, si l'utilisateur n'a écrit aucun message...
											elseif ($_POST['pseudo'] != NULL AND $_POST['message'] == NULL)
											{
												// ... alors on lui affiche un autre message d'erreur.
												?>
												<p class="erreur">
													Veuillez r&eacute;diger un message dans le formulaire pr&eacute;vu &agrave cet effet.
												</p>
												<?php
											}
											// Sinon, si les deux variables sont nulles...
											else
											{
												// ... alors on affiche encore un message d'erreur différent à l'utilisateur.
												?>
												<p class="erreur">
													Veuillez remplir les formulaires ci-dessus avant de valider.
												</p>
												<?php
											}
										}
										// On sélectionne un champ de la table "minichat".
										$reponse4 = mysql_query("SELECT ID FROM gestionchat");
										$exist = mysql_fetch_array($reponse4);
										// On sélectionne les 10 premiers pseudos et messages (en partant de la fin) de la table "minichat"...
										$reponse1 = mysql_query("SELECT date, pseudo, message FROM gestionchat ORDER BY ID DESC LIMIT 0, 100");
										// On modifie le format de la date en format français...
										$reponse3 = mysql_query("SELECT DATE_FORMAT(date, '%H:%i:%s') AS date_fr FROM gestionchat ORDER BY ID DESC LIMIT 0, 100");
										mysql_close();
										// ... et enfin, on affiche toutes ces données à l'aide d'une boucle.
										while ($donnees = mysql_fetch_array($reponse1) AND $date = mysql_fetch_array($reponse3))
										{
											?>
											<p>
												[<?php echo $date['date_fr']; ?>] <strong><?php echo $donnees['pseudo']; ?></strong>: <?php echo $donnees['message']; ?>
											</p>
											<?php
										}
										?>
										</div>
									</div>
							</div>
						</td>
					</tr>
				</table>
				<br />
			</div>
       
			<div class="haut_page" align="right"><a href="#top">Haut de page</a></div>
			
			<!-- Le pied de page -->
			<div id="pied_de_page" align="center">Copyright Silvere & Kagami, 2012</div>
		</div>
		
   </body>
</html>
Voici l'endroit où vous trouverez mon chat: <lien url="http://www.mario-sokoban.mtxserv.fr/Chat.php">Visiter le chat</lien>

Merci à celui/celle/ceux qui m'aideront.