Rafraichir une div

Fermé
elchico66 Messages postés 981 Date d'inscription dimanche 22 juillet 2007 Statut Membre Dernière intervention 11 juin 2022 - 9 juil. 2012 à 15:31
WebLooser Messages postés 63 Date d'inscription mercredi 30 mai 2012 Statut Membre Dernière intervention 29 avril 2013 - 23 juil. 2012 à 22:20
Bonjour,

Je suis entrain de créer un mini chat en php et ne connaissant pas dutout ajax et le JS, je voudrais que quelqu'un m'aide a mettre mon div tchat en rafraichissement toute les 1secondes.

Comment faire svp ?
Aidez moi.

Voici mon code de mon div.

 <div id="chat_index_bdd">
      <?php
		// Affichage de chaque message (toutes les données sont protégées par htmlspecialchars)
		while ($donnees = $reponse->fetch()){ ?>
      <p> <span class="heure"> <?php echo htmlspecialchars($donnees['date_creation']) ?> </span> <strong title="<?php echo htmlspecialchars($donnees['age']), htmlspecialchars($donnees['sexe'])?> " class="pseudo_chat">
        <?php if($donnees['sexe'] == 'F') 			 //si c'est une fille
								   			echo '<span style="color:#E860CD">'; //je veux que le pseudo soit de la couleur rose
										 else 
										 	echo '<span style="color:blue">';    //sinon je veux qu'il soit bleue pour les hommes.
											echo htmlspecialchars($donnees['pseudo'])?>
        </span></strong> : <span class="message_chat"> <?php echo htmlspecialchars($donnees['message'])?> </span> </p>
      <?php
		}$reponse->closeCursor();
		
		?>
    </div>




Merci de bien vouloir m'aider.
Cdt

13 réponses

WebLooser Messages postés 63 Date d'inscription mercredi 30 mai 2012 Statut Membre Dernière intervention 29 avril 2013 7
Modifié par WebLooser le 23/07/2012 à 22:20
J'ai eu tout simplement du mal moi aussi pour faire mon Tchat mais j'ai finit par y arriver.
Créé une nouvelle page qui se nomme recup.php et tu insères ton code qui te récupère les données de ta BDD. Ensuite l'ajax récupèrera ces infos et avec un settimeout tu rafraichis le tout:

Function refresh_div() 
{ 
   aleatoire = Math.random(); 
   var xhr_object = null; 
   if(window.XMLHttpRequest) 
      { // Firefox 
         xhr_object = new XMLHttpRequest(); 
      } 
   else if(window.ActiveXObject) 
      { // Internet Explorer 
         xhr_object = new ActiveXObject('Microsoft.XMLHTTP'); 
      } 
   var method = 'GET'; 
   var filename = 'recup.php?a='+escape(aleatoire); 
   xhr_object.open(method, filename, true); 
   xhr_object.onreadystatechange = function() 
      { 
         if(xhr_object.readyState == 4) 
         { 
            var tmp = xhr_object.responseText; 
            document.getElementById('Tchat').innerHTML = tmp; 
         } 
      } 
   xhr_object.send(); 
   setTimeout('refresh_div()', 1000); 
} 


Dans ton chat :
<body onload='refresh_div();'>
<div id="Tchat"></div>
</body>
=)
2
NDOUKI Messages postés 110 Date d'inscription mardi 29 juillet 2008 Statut Membre Dernière intervention 4 novembre 2013 12
9 juil. 2012 à 18:22
commence par te renseigner sur la fonction jquery
$.ajax();

ensuite sur le setInterval(); de javascript

je te rassure que c'est maximum 15 lignes de code

dans le forum on ne donne pas les codes
mais on essaie d'améliorer ce qu'on propose

courage
0
elchico66 Messages postés 981 Date d'inscription dimanche 22 juillet 2007 Statut Membre Dernière intervention 11 juin 2022 18
11 juil. 2012 à 18:13
Franchement j'ai cherché, j'ai essayé de comprendre, mais il faut que je me tape le cour sur ajax en entier ou js et la j'ai pas la patiente pour commencer maintenant. Je compte m'y mettre mais pas maintenant, dans quelques mois.

Faut que je finisse mon site, je veux juste un coup de mains pour ce rafraichissement auto.

Quelqu'un qui accepte de m'aider sur skype, mail, ou autre ca serais sympa.
Merci.
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
Modifié par Alain_42 le 11/07/2012 à 23:28
c'est pas si compliqué que ça:

<html>
<head>
<script type="text/javascript">
/////// fonctions_Ajax ///
//fonction de base de creation de la request ------------------------------------------
function getXMLHttpRequest(){
	var XHR = false;
		//créer une instance (un objet) de la classe désirée fonctionnant sur plusieurs navigateurs
        if (window.XMLHttpRequest) { // Mozilla, Safari,...
            XHR = new XMLHttpRequest();
            if (XHR.overrideMimeType) {
                XHR.overrideMimeType('text/xml');//un appel de fonction supplémentaire pour écraser l'en-tête envoyé par le serveur, juste au cas où il ne s'agit pas de text/xml, pour certaines versions de navigateurs Mozilla
            }
        } else if (window.ActiveXObject) { // IE
            try {
                XHR = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    XHR = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }

        if (!XHR) {
            alert('Abandon : Impossible de créer une instance XMLHTTP');
            return false;
        }
	return XHR;  
}
/////// --------------------------------------------------------------------------
//fonction lançant la requette Ajax
function request() {
	var url='scriptPHPreponseAjax.php';
		//création requette
		var XHR = getXMLHttpRequest();
		 //on definit ce qu'on va faire lorsqu'on recevra la réponse
		XHR.onreadystatechange = function (){traitement_reponse(XHR);} 	
		XHR.open('POST', url, true);		
		XHR.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');		
		XHR.send(null);
		//appel toutes les secondes
		setTimeout("request()",1000);	
	
}
//fonction traitement_reponse à la requette Ajax
function traitement_reponse(XHR){
	if(XHR.readyState == 4 ){
		if(XHR.status == 200) {
			// cas avec reponse de PHP en mode texte				
			var reponse=XHR.responseText;				
			//affichage
			document.getElementById("chat_index_bdd").innerHTML = reponse;
				
		}
	}
}
</script>
</head>
<body>
......
<div id="chat_index_bdd">
      <?php
		// Affichage de chaque message (toutes les données sont protégées par htmlspecialchars)
		while ($donnees = $reponse->fetch()){ ?>
      <p> <span class="heure"> <?php echo htmlspecialchars($donnees['date_creation']) ?> </span> <strong title="<?php echo htmlspecialchars($donnees['age']), htmlspecialchars($donnees['sexe'])?> " class="pseudo_chat">
        <?php if($donnees['sexe'] == 'F') 			 //si c'est une fille
								   			echo '<span style="color:#E860CD">'; //je veux que le pseudo soit de la couleur rose
										 else 
										 	echo '<span style="color:blue">';    //sinon je veux qu'il soit bleue pour les hommes.
											echo htmlspecialchars($donnees['pseudo'])?>
        </span></strong> : <span class="message_chat"> <?php echo htmlspecialchars($donnees['message'])?> </span> </p>
      <?php
		}$reponse->closeCursor();
		
		?>
    </div>
	.....
	<script type="text/javascript">
		request(); //lancement requette Ajax
	</script> 
</body>
</html>

et le code du script php appellé par Ajax:
scriptPHPreponseAjax.php (laisses ce nom)
<?php
//connexion au serveur
......
// requette
.......
//puis
while ($donnees = $reponse->fetch()){ 
      $rep= '<p> <span class="heure">'.htmlspecialchars($donnees['date_creation']).' </span> <strong title="'.htmlspecialchars($donnees['age']).' '.htmlspecialchars($donnees['sexe']).'class="pseudo_chat">';
         if($donnees['sexe'] == 'F') {			 
			//si c'est une fille
			$rep+= '<span style="color:#E860CD">'; //je veux que le pseudo soit de la couleur rose
		}else{ 
			$rep+= '<span style="color:blue">';    //sinon je veux qu'il soit bleue pour les hommes.
			$rep+= htmlspecialchars($donnees['pseudo']);
		}
        $rep+= '</span></strong> : <span class="message_chat">'.htmlspecialchars($donnees['message']).'</span> </p>';
      
		}$reponse->closeCursor();
		
		//envoi de la réponse à Ajax:
		echo $rep;
?>

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
elchico66 Messages postés 981 Date d'inscription dimanche 22 juillet 2007 Statut Membre Dernière intervention 11 juin 2022 18
12 juil. 2012 à 17:20
Petit souci,

Voici ma page chat.php (la où ce trouve l'affichage de mon chat)

<?php 
session_start();
require_once 'config.php';





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

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Chatoo</title>
<link rel="stylesheet" type="text/css" href="css/style.css?ver=1"  />
<link rel="stylesheet" type="text/css" href="css/boite_chat.css?ver=1"  />
<!--[if lt IE 9]>
    <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

<script type="text/javascript">
/////// fonctions_Ajax ///
//fonction de base de creation de la request ------------------------------------------
function getXMLHttpRequest(){
	var XHR = false;
		//créer une instance (un objet) de la classe désirée fonctionnant sur plusieurs navigateurs
        if (window.XMLHttpRequest) { // Mozilla, Safari,...
            XHR = new XMLHttpRequest();
            if (XHR.overrideMimeType) {
                XHR.overrideMimeType('text/xml');//un appel de fonction supplémentaire pour écraser l'en-tête envoyé par le serveur, juste au cas où il ne s'agit pas de text/xml, pour certaines versions de navigateurs Mozilla
            }
        } else if (window.ActiveXObject) { // IE
            try {
                XHR = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    XHR = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }

        if (!XHR) {
            alert('Abandon : Impossible de créer une instance XMLHTTP');
            return false;
        }
	return XHR;  
}
/////// --------------------------------------------------------------------------
//fonction lançant la requette Ajax
function request() {
	var url='scriptPHPreponseAjax.php';
		//création requette
		var XHR = getXMLHttpRequest();
		 //on definit ce qu'on va faire lorsqu'on recevra la réponse
		XHR.onreadystatechange = function (){traitement_reponse(XHR);} 	
		XHR.open('POST', url, true);		
		XHR.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');		
		XHR.send(null);
		//appel toutes les secondes
		setTimeout("request()",1000);	
	
}
//fonction traitement_reponse à la requette Ajax
function traitement_reponse(XHR){
	if(XHR.readyState == 4 ){
		if(XHR.status == 200) {
			// cas avec reponse de PHP en mode texte				
			var reponse=XHR.responseText;				
			//affichage
			document.getElementById("chat_index_bdd").innerHTML = reponse;
				
		}
	}
}
</script>

</head>

<body onload="document.message_chat.message.focus();" onLoad="Ajax()">

................

 <div id="chat_index">
    <div id="chat_index_bdd">
      <?php
		// Affichage de chaque message (toutes les données sont protégées par htmlspecialchars)
		while ($donnees = $reponse->fetch()){ ?>
      <p> <span class="heure"> <?php echo htmlspecialchars($donnees['date_creation']) ?> </span> <strong title="<?php echo htmlspecialchars($donnees['age']), htmlspecialchars($donnees['sexe'])?> " class="pseudo_chat">
        <?php if($donnees['sexe'] == 'F') 			 //si c'est une fille
								   			echo '<span style="color:#E860CD">'; //je veux que le pseudo soit de la couleur rose
										 else 
										 	echo '<span style="color:blue">';    //sinon je veux qu'il soit bleue pour les hommes.
											echo htmlspecialchars($donnees['pseudo'])?>
        </span></strong> : <span class="message_chat"> <?php echo htmlspecialchars($donnees['message'])?> </span> </p>
      <?php
		}$reponse->closeCursor();
		
		?>
    </div>
    <div id="champ_chat_index">
      <form name ="message_chat" action="chat_bdd.php" method="post">
        <p>
          <input type="text" name="message" id="message" value="Votre message" onfocus="if (this.value=='Votre message') this.value='';" onblur="if (this.value=='')
				this.value='Votre message';"/>
          <input type="submit" value="Envoyer"  id="bouton_envoi_index"/>
        </p>
      </form>
    </div>
  </div>

....................

	<script type="text/javascript">
		request(); //lancement requette Ajax
	</script> 



est-ce ok pour cette page ?

Ma requette d'insertion de mon message est sur ma page "chat_bdd.php".
Dois-je la supprimer et la remplacé par : "scriptPHPreponseAjax.php"

<form name ="message_chat" action="chat_bdd.php OU scriptPHPreponseAjax.php" method="post">

<?php
session_start();
require_once 'config.php';//connexion au serveur

if (isset($_POST['message']) && !empty($_POST['message'])){

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

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

while ($donnees = $reponse->fetch()){ 
      $rep= '<p> <span class="heure">'.htmlspecialchars($donnees['date_creation']).' </span> <strong title="'.htmlspecialchars($donnees['age']).' '.htmlspecialchars($donnees['sexe']).'class="pseudo_chat">';
         if($donnees['sexe'] == 'F') {			 
			//si c'est une fille
			$rep+= '<span style="color:#E860CD">'; //je veux que le pseudo soit de la couleur rose
		}else{ 
			$rep+= '<span style="color:blue">';    //sinon je veux qu'il soit bleue pour les hommes.
			$rep+= htmlspecialchars($donnees['pseudo']);
		}
        $rep+= '</span></strong> : <span class="message_chat">'.htmlspecialchars($donnees['message']).'</span> </p>';
      
		}$reponse->closeCursor();
		
		//envoi de la réponse à Ajax:
		echo $rep;
?>
		

header('Location: chat.php');
?>


Comme cela, j'ai essayé et ça ne marche pas...
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
12 juil. 2012 à 21:30
est-ce ok pour cette page ? // ==> voir repmarques
........
<body onload="document.message_chat.message.focus();">
 <!--  onLoad="Ajax()" tu ne peux pas mettre deux fois onload et puis quelle est cette fonction Ajax()
 le lancement de la requette ajax se faite plus bas   dans la page   request();

....
 -->


Ma requette d'insertion de mon message est sur ma page "chat_bdd.php". d'accord, mais ça n'a rie a voir avec la réponse php à l'appel de Ajax
Dois-je la supprimer et la remplacé par : "scriptPHPreponseAjax.php" NON, mais ne mélange pas les deux codes

chat_bdd.php
<?php
session_start();
require_once 'config.php';//connexion au serveur

if (isset($_POST['message']) && !empty($_POST['message'])){

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


scriptPHPreponseAjax.php
<?php
session_start();
require_once 'config.php';//connexion au serveur

// Récupération des 10 derniers messages
	$reponse = $bdd->query('SELECT pseudo, message, age, sexe, date_creation FROM chat_index ORDER BY ID LIMIT 0, 70');
//bizarre que tu mettes LIMT 0,70 pour recupérer les 10 derniers mesages ??
while ($donnees = $reponse->fetch()){ 
      $rep= '<p> <span class="heure">'.htmlspecialchars($donnees['date_creation']).' </span> <strong title="'.htmlspecialchars($donnees['age']).' '.htmlspecialchars($donnees['sexe']).'class="pseudo_chat">';
         if($donnees['sexe'] == 'F') {			 
			//si c'est une fille
			$rep+= '<span style="color:#E860CD">'; //je veux que le pseudo soit de la couleur rose
		}else{ 
			$rep+= '<span style="color:blue">';    //sinon je veux qu'il soit bleue pour les hommes.
			$rep+= htmlspecialchars($donnees['pseudo']);
		}
        $rep+= '</span></strong> : <span class="message_chat">'.htmlspecialchars($donnees['message']).'</span> </p>';
      
		}$reponse->closeCursor();
		
		//envoi de la réponse à Ajax:
		echo $rep;
?>

0
elchico66 Messages postés 981 Date d'inscription dimanche 22 juillet 2007 Statut Membre Dernière intervention 11 juin 2022 18
12 juil. 2012 à 21:47
Ok,
onLoad="Ajax()" = c'est un script que j'ai insérer pour un scrollbar auto en bas.
Je peux l'enlever si le lancement de la requete ce fais plus bas ?

Sinon pour le résultat suite au code, j'ai ma page qui s'affiche bien mais qui affiche un "0" a la place du texte des membres postant leurs messages.

Mes page "chat_bdd.php" et "scriptPHPreponseAjax.php " sont identique au code que vous m'avez posté dans votre dernière réponse.

avec le header de redirection a la page "chat_bdd.php".

Pourquoi ce zéro s'affiche-t-il ?

Je vous met l'intégralité de ma page "chat.php"

<?php 
session_start();
require_once 'config.php';





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

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Chatoo</title>
<link rel="stylesheet" type="text/css" href="css/style.css?ver=1"  />
<link rel="stylesheet" type="text/css" href="css/boite_chat.css?ver=1"  />
<!--[if lt IE 9]>
    <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

<script language="javascript" type="text/javascript">
URL = "chat.php";
function rafraichir() {
        if (window.XMLHttpRequest) xhr = new XMLHttpRequest();
        else if (window.ActiveXObject) xhr = new ActiveXObject('Microsoft.XMLHTTP');
        else alert('JavaScript : votre navigateur ne supporte pas les objets XMLHttpRequest...');
        xhr.open('GET',URL,true);
        xhr.onreadystatechange = ajaxReponse;
        xhr.send(null);
}

function ajaxReponse() {
        if (xhr.readyState == 4) {
                document.getElementById("#chat_index_bdd",true).innerHTML=xhr.responseText; // ici sa s'incrute dans la div <div id="page"></div> mais peut etre <td id="page">  ... Ici c'est L'id l'important
                var timer=setTimeout("rafraichir()",1000); // rafraichie toute les 25secs
        }
}
</script>

<script type="text/javascript">
/////// fonctions_Ajax ///
//fonction de base de creation de la request ------------------------------------------
function getXMLHttpRequest(){
	var XHR = false;
		//créer une instance (un objet) de la classe désirée fonctionnant sur plusieurs navigateurs
        if (window.XMLHttpRequest) { // Mozilla, Safari,...
            XHR = new XMLHttpRequest();
            if (XHR.overrideMimeType) {
                XHR.overrideMimeType('text/xml');//un appel de fonction supplémentaire pour écraser l'en-tête envoyé par le serveur, juste au cas où il ne s'agit pas de text/xml, pour certaines versions de navigateurs Mozilla
            }
        } else if (window.ActiveXObject) { // IE
            try {
                XHR = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    XHR = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }

        if (!XHR) {
            alert('Abandon : Impossible de créer une instance XMLHTTP');
            return false;
        }
	return XHR;  
}
/////// --------------------------------------------------------------------------
//fonction lançant la requette Ajax
function request() {
	var url='scriptPHPreponseAjax.php';
		//création requette
		var XHR = getXMLHttpRequest();
		 //on definit ce qu'on va faire lorsqu'on recevra la réponse
		XHR.onreadystatechange = function (){traitement_reponse(XHR);} 	
		XHR.open('POST', url, true);		
		XHR.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');		
		XHR.send(null);
		//appel toutes les secondes
		setTimeout("request()",1000);	
	
}
//fonction traitement_reponse à la requette Ajax
function traitement_reponse(XHR){
	if(XHR.readyState == 4 ){
		if(XHR.status == 200) {
			// cas avec reponse de PHP en mode texte				
			var reponse=XHR.responseText;				
			//affichage
			document.getElementById("chat_index_bdd").innerHTML = reponse;
				
		}
	}
}
</script>
</head>

<body onload="document.message_chat.message.focus();" >

<div class="all">
  <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.php"> Salons </a></li>
      <li><a href="contact.php">Contact </a></li>
    </ul>
  </div>
  <!--------------------------------------- FIN MENU HORIZONTALE ------------->
  
  <p> <strong> Bonjour <?php echo $_SESSION['pseudo']?> <a class="deco" href="deconnexion.php?pseudo='<?php echo $_SESSION['pseudo']?>'">Déconnexion</a></strong></p>
  <p class="lien_region">Accede au salon de ta region: <a href="Salons/<?php echo $_SESSION['region'] ?>.php">#<?php echo $_SESSION['region'] ?></a> ! </p>
  <div id="nb_co">
    <?php $req = $bdd->query('SELECT COUNT(*) AS nb FROM connexion_chat');
$donnees = $req->fetch();
$nb_connecter = $donnees['nb'];
?>
    <p style="color:#8B006F;"> Il y a <strong><?php echo $nb_connecter ?></strong> chatooyens de connectés sur ce salon.</p>
  </div>
  <div id="chat_index">
    <div id="chat_index_bdd">
      <?php
		// Affichage de chaque message (toutes les données sont protégées par htmlspecialchars)
		while ($donnees = $reponse->fetch()){ ?>
      <p> <span class="heure"> <?php echo htmlspecialchars($donnees['date_creation']) ?> </span> <strong title="<?php echo htmlspecialchars($donnees['age']), htmlspecialchars($donnees['sexe'])?> " class="pseudo_chat">
        <?php if($donnees['sexe'] == 'F') 			 //si c'est une fille
								   			echo '<span style="color:#E860CD">'; //je veux que le pseudo soit de la couleur rose
										 else 
										 	echo '<span style="color:blue">';    //sinon je veux qu'il soit bleue pour les hommes.
											echo htmlspecialchars($donnees['pseudo'])?>
        </span></strong> : <span class="message_chat"> <?php echo htmlspecialchars($donnees['message'])?> </span> </p>
      <?php
		}$reponse->closeCursor();
		
		?>
    </div>
    <div id="champ_chat_index">
      <form name ="message_chat" action="chat_bdd.php" method="post">
        <p>
          <input type="text" name="message" id="message" value="Votre message" onfocus="if (this.value=='Votre message') this.value='';" onblur="if (this.value=='')
				this.value='Votre message';"/>
          <input type="submit" value="Envoyer"  id="bouton_envoi_index"/>
        </p>
      </form>
    </div>
  </div>
  <p class="actualiser"><a href="#"> >> Actualiser. </a></p>
  <div id="pied_page"><!----------------------------- PIED DE PAGE --------------------->
    <p> © Copyright 2012 - By <a href="http://vincent.janty.free.fr">Vincent.Janty.free.fr</a>. </p>
  </div>
</div>
<!------------------------------------------- FIN PIED DE PAGE -----------------> 

<script type="text/javascript" src="js/jquery-1.7.2.js"></script> 
<script type="text/javascript" src="js/script.js"></script>


	<script type="text/javascript">
		request(); //lancement requette Ajax
	</script> 
</body></html>
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
13 juil. 2012 à 14:52
vire déja ça :
<script language="javascript" type="text/javascript">
URL = "chat.php";
function rafraichir() {
        if (window.XMLHttpRequest) xhr = new XMLHttpRequest();
        else if (window.ActiveXObject) xhr = new ActiveXObject('Microsoft.XMLHTTP');
        else alert('JavaScript : votre navigateur ne supporte pas les objets XMLHttpRequest...');
        xhr.open('GET',URL,true);
        xhr.onreadystatechange = ajaxReponse;
        xhr.send(null);
}

function ajaxReponse() {
        if (xhr.readyState == 4) {
                document.getElementById("#chat_index_bdd",true).innerHTML=xhr.responseText; // ici sa s'incrute dans la div <div id="page"></div> mais peut etre <td id="page">  ... Ici c'est L'id l'important
                var timer=setTimeout("rafraichir()",1000); // rafraichie toute les 25secs
        }
}
</script>


et si tu as 0 c'est un pb avec le code de scriptPHPreponseAjax.php

essayes le lancer ce script directement en tapant son url dans ton navigateur pour voir ce qu'il envoie
0
elchico66 Messages postés 981 Date d'inscription dimanche 22 juillet 2007 Statut Membre Dernière intervention 11 juin 2022 18
13 juil. 2012 à 16:08
en tapant l'url http://localhost/Chatoo_DW/scriptPHPreponseAjax.php
j'ai juste un "0" qui s'affiche.
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
13 juil. 2012 à 16:11
oui donc c'est bien de la que vient le problème, tu doit avoir un soucis avec la requette SQL
0
elchico66 Messages postés 981 Date d'inscription dimanche 22 juillet 2007 Statut Membre Dernière intervention 11 juin 2022 18
14 juil. 2012 à 01:05
Je ne comprends pas, mes codes sont bon ?

par contre j'avais oublié de répondre à:

// Récupération des 10 derniers messages
$reponse = $bdd->query('SELECT pseudo, message, age, sexe, date_creation FROM chat_index ORDER BY ID LIMIT 0, 70');
//bizarre que tu mettes LIMT 0,70 pour recupérer les 10 derniers mesages ??

Je ne veux pas récupérer les 10 derniers messages. Je veux afficher les 70 derniers messages.

C'est bien cette requette SQL là qui doit-être sur mes 2 page ?
scriptPHPreponseAjax.php et chat.php ?
0
elchico66 Messages postés 981 Date d'inscription dimanche 22 juillet 2007 Statut Membre Dernière intervention 11 juin 2022 18
16 juil. 2012 à 13:45
???????
0
NDOUKI Messages postés 110 Date d'inscription mardi 29 juillet 2008 Statut Membre Dernière intervention 4 novembre 2013 12
23 juil. 2012 à 17:16
slt,
c'est bien beau ce que vous faites
mais en réalité c'est trop long et Ajax à lui seul prend énormément de temps
il faut le faire avec jquery-ajax

mais Alain_42,
tu dois essayer plus facilement avec du Jquery
0
NDOUKI Messages postés 110 Date d'inscription mardi 29 juillet 2008 Statut Membre Dernière intervention 4 novembre 2013 12
23 juil. 2012 à 17:30
bon essayons un peu

- commence par telecharger et enregistrer la bibliothèque jquery sur http://code.jquery.com/jquery-1.7.2.min.js
- Ensuite, tu installes le fichier quelque part dans le dossier de ton site
- puis, tu appelle le fichier avec la méthode <script src="jquery-1.7.2.min.js"></script>
- A partir de là tout devient facile

Premier conseil
Sur ta page php
déclare ton div sans contenu
comme ceci:
<div id="chat_index_bdd"></div>

la suite après ta réponse
bye
0