Script php chat qui marche mal

Bonjour,

Bonjour,

bonjour!

j'ai un problême avec ce script de chat

pour chaque message il me recreer un chat, avec un bouton envoyer ,

voyez par vous même :

http://www.uncupidon.com/chat.php?pseudo=petitfute

merci d'avance de votre aide!

voici le script:

<?php
// on commence par ouvrir la session
session_start();
$_SESSION['pseudo'];
$_SESSION['logged'];

// D'abord, on se connecte à MySQL

$cnx=mysql_connect("**************", "**********", "***********") or die("Pb connexion au serveur".mysql_error());
$db=mysql_select_db("*********") or die("Pb selection base".mysql_error());

if (isset($_POST['message'])) // Si les variables existent
{
if ($_POST['message'] != NULL) // Si on a quelque chose à enregistrer
{

// On utilise les fonctions PHP mysql_real_escape_string et htmlspecialchars pour la sécurité
$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
$timestamp = time();

$expediteur = $_SESSION['pseudo'];
$destinataire = $_GET['pseudo'];
// Ensuite on enregistre le message
mysql_query("INSERT INTO chat VALUES('', '$expediteur', '$destinataire', '$message', '$timestamp', '')");

?>

<!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>t'chat uncupidon</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<style type="text/css">

#chatcomplet
{
width:400px;
height:400px;
background-attachment: fixed;
background-repeat: no-repeat;

}

#lecture
{
width:400px;
height:300px;
background-color: red;
color : yellow;
overflow: auto
border: 1px solid green;
}

#message
{
width:400px;
height:100px;
border: 1px solid green;
margin-top:300px;
}
</style>
<body>

<?php
$reponse2 = mysql_query("SELECT expediteur, message, timestamp FROM chat WHERE destinataire='".$_SESSION['pseudo']."'OR expediteur='".$_SESSION['pseudo']."'");
while ($donnees2 = mysql_fetch_array($reponse2) )
{
// On se déconnecte de MySQL

$date = date('d/m/Y \à H\hi', $donnees2['timestamp']);
$message = $donnees2['message'];
$expediteur = $donnees2['expediteur'];
$pseudo= $_GET['pseudo'];

?>

<div id="chatcomplet">
<div id="lecture">
<form action="<?php echo'chat.php?pseudo='.$pseudo.''?>" method="post"/>

<p><strong><?php echo $expediteur ?></strong> le <?php echo $date ?>: <?php echo $message ?></p>

<div id="message">
<p>Message : <input type="text" name="message" /><br />

<input type="submit" value="Envoyer" />
</p>
</div>
</div>
</div>

<?php
}

}

}

else
{

?>
<!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>t'chat uncupidon</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<style type="text/css">

#chatcomplet
{
width:400px;
height:400px;
background-attachment: fixed;
background-repeat: no-repeat;

}

#lecture
{
width:400px;
height:300px;
background-color: red;
color : yellow;
overflow: auto
border: 1px solid green;
}

#message
{
width:400px;
height:100px;
border: 1px solid green;
margin-top:300px;
}
</style>
<body>

<?php
$reponse2 = mysql_query("SELECT expediteur, message, timestamp FROM chat WHERE destinataire='".$_SESSION['pseudo']."'OR expediteur='".$_SESSION['pseudo']."'");
while ($donnees2 = mysql_fetch_array($reponse2) )
{
// On se déconnecte de MySQL

$date = date('d/m/Y \à H\hi', $donnees2['timestamp']);
$message = $donnees2['message'];
$expediteur =$donnees2['expediteur'];
$pseudo= $_GET['pseudo'];

?>

<div id="chatcomplet">
<div id="lecture">
<form action="<?php echo'chat.php?pseudo='.$pseudo.''?>" method="post"/>

<p><strong><?php echo $expediteur ?></strong> le <?php echo $date ?>: <?php echo $message ?></p>

<div id="message">
<p>Message : <input type="text" name="message" /><br />

<input type="submit" value="Envoyer" />
</p>
</div>
</div>
</div>

<?php
}
}
mysql_close();
?>
</form>

</body>
Configuration: Windows XP
Internet Explorer 6.0

12 réponses

Résumé de la discussion

Un script de chat en PHP/MySQL déclenche la création d'une nouvelle interface de chat à chaque message et fournit un bouton Envoyer, ce qui complique le déroulement des échanges. Plusieurs rédacteurs évoquent des erreurs de placement des boucles, des appels SQL manquants ou mal sécurisés, et des difficultés à afficher les messages correctement sans décharger ou recharger la page. Des corrections portées sur l’architecture du formulaire, la gestion de session et l’intégration éventuelle d’AJAX sont discutées, avec des exemples de boucles de récupération et de mise à jour dynamique. En cas de solution, les échanges suggèrent aussi d’ajuster le rendu visuel et le contenu du formulaire, afin d’éviter des erreurs en production et d’assurer un rafraîchissement silencieux lorsque nécessaire.

Bobot (l’IA à votre service)
  1. Contributeur
    et tu sais à quoi tu as touché depuis que ça marchait ?
    1. ben avant de rajouter ajax ca marchait,
    2. @micka30Donc comme ca,

      <?php 
      // on commence par ouvrir la session 
      session_start(); 
      $_SESSION['pseudo']; 
      $_SESSION['logged']; 
      
      
      // D'abord, on se connecte à MySQL 
      
      $cnx=mysql_connect("**********", "***********", "********") or die("Pb connexion au serveur".mysql_error()); 
      $db=mysql_select_db("**********") or die("Pb selection base".mysql_error()); 
      
      
      
      if (isset($_POST['message'])) // Si les variables existent 
      { 
      if ($_POST['message'] != NULL) // Si on a quelque chose à enregistrer 
      { 
      
      
      // On utilise les fonctions PHP mysql_real_escape_string et htmlspecialchars pour la sécurité 
      $message = mysql_real_escape_string(htmlspecialchars($_POST['message'])); 
      $timestamp = time(); 
      
      
      $expediteur = $_SESSION['pseudo']; 
      $destinataire = $_GET['pseudo']; 
      // Ensuite on enregistre le message 
      mysql_query("INSERT INTO chat VALUES('', '$expediteur', '$destinataire', '$message', '$timestamp', '')"); 
      } 
      } 
      
      
      
      
      
      
      
      <!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>t'chat uncupidon</title> 
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
      <?php $xajax->printJavascript(); /* Affiche le Javascript */?> 
      <script type="text/javascript"> 
      
      function refresh() 
      { 
      chat(); 
      setTimeout("refresh()", 5000); 
      } 
      </script> 
      
      
      </head> 
      <style type="text/css"> 
      
      
      #chatcomplet 
      { 
      width:400px; 
      height:400px; 
      
      background-repeat: no-repeat; 
      border: 1px solid black; 
      } 
      
      #lecture 
      { 
      position : absolute ; 
      width:400px; 
      height:300px; 
      background-color: red; 
      color : yellow; 
      overflow : scroll ; 
      border: 1px solid green; 
      } 
      
      #message 
      { 
      background-color: green; 
      background-attachment: fixed; 
      width:400px; 
      height:100px; 
      border: 1px solid green; 
      padding: 1px; 
      padding-top: 300px; 
      
      } 
      </style> 
      <body> 
      
      
      
      
      <div id="chatcomplet"> 
      
      <form action="<?php echo'chat.php?pseudo='.$pseudo.''?>" method="post"/> 
      <div id="lecture">
      
      $reponse = mysql_query("SELECT expediteur, message, timestamp FROM chat WHERE destinataire='".$_SESSION['pseudo']."'OR expediteur='".$_SESSION['pseudo']."'"); 
      while ($donnees = mysql_fetch_array($reponse) ) 
      { 
      
      $date = date('d/m/Y \à H\hi', $donnees2['timestamp']); 
      $message = $donnees['message']; 
      $expediteur = $donnees['expediteur']; 
      $pseudo= $_GET['pseudo']; 
      
      $retour='<p><strong> '.$expediteur.' </strong> le '.$date.' : '.$message.' </p>'; 
      } 
      
      
      
      </div> 
      
      <div id="message"> 
      
      <p>Message : <input type="text" name="message" size="30"/><br /> 
      
      <input type="submit" value="Envoyer" /> 
      </p> 
      
      </div> 
      </div> 
      
      <?php 
      
      
      mysql_close(); 
      ?> 
      
      
      </form> 
      
      
      </body> 
      </html>
    3. @micka30j'ouvre un autre poste avec un titre plus explicite!
  2. lol , dsl je suis un boulet en ajax!

    j'ai pas compris ce que je devait faire en 17
    1. Contributeur
      riende particulier, je te partageais mon désarrois !

      et sans le 'Refresh()' tu réussis toujours à faire tourner le chat ?
      (pauvre chat…)
      -:o)
    2. @Dalidaben rien ne s'affiche ni les messages recu ni les messages envoyée

      tien si tu veut testé:

      http://www.uncupidon.com/chat.php?pseudo=yohasakura
  3. Contributeur
    muy bien !

    maintenant il y a trois fois la bibliothèque !
    ça devrait suffire !
    -:oD
    <script src="xajax_js/xajax.js" type="text/javascript">
    <script src="xajax.js" type="text/javascript">
    <script src="xajax.js" type="text/javascript">

    et je ne retrouve pas ta fonction 'Refresh()'…
    c'est le b***el !
    1. Contributeur
      et tu as fermé la balise <form> en l'ouvrant :
      <form action="chat.php?pseudo=" method="post"/>

      à corriger en :
      <form action="chat.php?pseudo=" method="post">
      1. voila il est ok!

        This Page Is Valid XHTML 1.0 Strict!
    2. Contributeur
      donc il faut corriger l'url :
      <script type="text/javascript" src="xajax.js"></script>

      et enlève la ligne entre la fin du PHP et le DocType, stp.
      1. voila!

        ca ne change rien!

        vraiment merci de ton aide en tout cas!

        <?php 
        	session_start(); 
        	$_SESSION['pseudo']; 
        	$_SESSION['logged']; 
        	
        	$cnx=mysql_connect("**********", "***********","**********") or die("Pb connexion au serveur".mysql_error());
        $db=mysql_select_db("***************") or die("Pb selection base".mysql_error());
        	
        	if ( isset( $_POST['message'] ) && !is_null( $_POST['message'] ) )
        	{ 
        		$message = mysql_real_escape_string( htmlspecialchars( $_POST['message'] ) ); 
        		$timestamp = time(); 
        		$expediteur = $_SESSION['pseudo']; 
        		$destinataire = $_GET['pseudo']; 
        		mysql_query( "INSERT INTO chat VALUES('', '$expediteur', '$destinataire', '$message', '$timestamp', '')" );  // et tu ne stockes pas le résultat dans une variable ?
        	} 
        
        	function chat ()
        	{ 
        		$retour_xajax = new xajaxResponse(); 
        		$retour = ''; 
        		$reponse = mysql_query( "SELECT expediteur, message, timestamp FROM chat WHERE destinataire='".$_SESSION['pseudo']."'OR expediteur='".$_SESSION['pseudo']."'" ); 
        		while( $donnees = mysql_fetch_array( $reponse ) ) 
        		{ 
        			$date = date( 'd/m/Y \à H\hi', $donnees2['timestamp'] ); 
        			$message = $donnees['message']; 
        			$expediteur = $donnees['expediteur']; 
        			$pseudo= $_GET['pseudo']; 
        			$retour='<p><strong> '.$expediteur.' </strong> le '.$date.' : '.$message.' </p>'; 
        		} 
        		$retour_xajax->addAssign( 'lecture' , 'innerHTML' , $retour ); 
        		return $retour_xajax->getXML(); 
        	} 
        	
        	require( 'xajax.inc.php' ); 
        	$xajax = new xajax(); 
        	$xajax->registerFunction( 'chat' ); 
        	 
        ?>
        
        <!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>t'chat uncupidon</title> 
        		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
        <?php $xajax->printJavascript(); ?> 
        		<script type="text/javascript" src="xajax.js">
        		
        		
        		
        function refresh() 
        { 
        	chat(); 
        	setTimeout("refresh()", 5000); 
        } 
        		</script> 
        		<style type="text/css"> 
        #chatcomplet 
        { 
        width:400px; 
        height:400px; 
        background-repeat: no-repeat; 
        border: 1px solid black; 
        } 
        #lecture 
        { 
        position : absolute ; 
        width:400px; 
        height:300px; 
        background-color: red; 
        color : yellow; 
        overflow : scroll ; 
        border: 1px solid green; 
        } 
        #message 
        { 
        background-color: green; 
        background-attachment: fixed; 
        width:400px; 
        height:100px; 
        border: 1px solid green; 
        padding: 1px; 
        padding-top: 300px; 
        } 
        		</style> 
        	</head> 
        	<body>
        		<div id="chatcomplet"> 
        			<form action="<?php echo'chat.php?pseudo='.$pseudo.''?>" method="post"/> 
        			<div id="lecture"></div> 
        			<div id="message"> 
        				<p>Message :
        					<input type="text" name="message" size="30"/>
        					<br /> 
        					<input type="submit" value="Envoyer" /> 
        				</p> 
        			</div> 
        		</div> 
        		</form> 
        		<script type="text/javascript" src="xajax.js">refresh();</script>
        	</body> 
        </html>
      2. Contributeur
        @micka30ben attends, faut déjà un document clean !

        fais la modif en <13>, après ça devrait être valide.
    3. Contributeur
      mets ça en ligne, stp et vérifie si 'xajax.js' est bien à sa place.
      <?php 
      	session_start(); 
      	$_SESSION['pseudo']; 
      	$_SESSION['logged']; 
      	
      	$cnx = mysql_connect( "***********", "*************", "************") or die( "Pb connexion au serveur".mysql_error() );
      	$db = mysql_select_db( "************" ) or die( "Pb selection base".mysql_error() );
      	
      	if ( isset( $_POST['message'] ) && !is_null( $_POST['message'] ) )
      	{ 
      		$message = mysql_real_escape_string( htmlspecialchars( $_POST['message'] ) ); 
      		$timestamp = time(); 
      		$expediteur = $_SESSION['pseudo']; 
      		$destinataire = $_GET['pseudo']; 
      		mysql_query( "INSERT INTO chat VALUES('', '$expediteur', '$destinataire', '$message', '$timestamp', '')" );  // et tu ne stockes pas le résultat dans une variable ?
      	} 
      
      	function chat ()
      	{ 
      		$retour_xajax = new xajaxResponse(); 
      		$retour = ''; 
      		$reponse = mysql_query( "SELECT expediteur, message, timestamp FROM chat WHERE destinataire='".$_SESSION['pseudo']."'OR expediteur='".$_SESSION['pseudo']."'" ); 
      		while( $donnees = mysql_fetch_array( $reponse ) ) 
      		{ 
      			$date = date( 'd/m/Y \à H\hi', $donnees2['timestamp'] ); 
      			$message = $donnees['message']; 
      			$expediteur = $donnees['expediteur']; 
      			$pseudo= $_GET['pseudo']; 
      			$retour='<p><strong> '.$expediteur.' </strong> le '.$date.' : '.$message.' </p>'; 
      		} 
      		$retour_xajax->addAssign( 'lecture' , 'innerHTML' , $retour ); 
      		return $retour_xajax->getXML(); 
      	} 
      	
      	require( 'xajax.inc.php' ); 
      	$xajax = new xajax(); 
      	$xajax->registerFunction( 'chat' ); 
      	$xajax->processRequests(); 
      ?>
      <!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>t'chat uncupidon</title> 
      		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
      <?php $xajax->printJavascript(); ?> 
      		<script type="text/javascript"> 
      function refresh() 
      { 
      	chat(); 
      	setTimeout("refresh()", 5000); 
      } 
      		</script> 
      		<style type="text/css"> 
      #chatcomplet 
      { 
      width:400px; 
      height:400px; 
      background-repeat: no-repeat; 
      border: 1px solid black; 
      } 
      #lecture 
      { 
      position : absolute ; 
      width:400px; 
      height:300px; 
      background-color: red; 
      color : yellow; 
      overflow : scroll ; 
      border: 1px solid green; 
      } 
      #message 
      { 
      background-color: green; 
      background-attachment: fixed; 
      width:400px; 
      height:100px; 
      border: 1px solid green; 
      padding: 1px; 
      padding-top: 300px; 
      } 
      		</style> 
      	</head> 
      	<body>
      		<div id="chatcomplet"> 
      			<form action="<?php echo'chat.php?pseudo='.$pseudo.''?>" method="post"/> 
      			<div id="lecture"></div> 
      			<div id="message"> 
      				<p>Message :
      					<input type="text" name="message" size="30"/>
      					<br /> 
      					<input type="submit" value="Envoyer" /> 
      				</p> 
      			</div> 
      		</div> 
      		</form> 
      		<script type="text/javascript">refresh();</script>
      	</body> 
      </html>
      1. re!

        voila il est en ligne!

        ca ne marche pas.

        et xajax.js est a la racine de mon site.
    4. Contributeur
      et y a une erreur, il trouve pas le fichier JS :
      'Error: the xajax Javascript file could not be included. Perhaps the URL is incorrect?\nURL: xajax_js/xajax.js'
      1. Contributeur
        pfff !!!
        évidement !
        regarde le code servie de ta version en ligne !

        ton script est en dehors du document !

        mais comment fonctionne ton code ?
        c'est un seul fichier ce que tu nous as donné ?

        je regarde de plus près.
        1. Contributeur
          tant qu'à coller ton code à chaque fois, voilà une version compacte et indentée, c'est plus utile que les commentaires !
          -;o)
          as-tu mis la version en ligne à jour ?
          <?php 
          	session_start(); 
          	$_SESSION['pseudo']; 
          	$_SESSION['logged']; 
          	
          	$cnx = mysql_connect( "***********", "*************", "************") or die( "Pb connexion au serveur".mysql_error() );
          	$db = mysql_select_db( "************" ) or die( "Pb selection base".mysql_error() );
          	
          	if ( isset( $_POST['message'] ) && !is_null( $_POST['message'] ) )
          	{ 
          		$message = mysql_real_escape_string( htmlspecialchars( $_POST['message'] ) ); 
          		$timestamp = time(); 
          		$expediteur = $_SESSION['pseudo']; 
          		$destinataire = $_GET['pseudo']; 
          		mysql_query( "INSERT INTO chat VALUES('', '$expediteur', '$destinataire', '$message', '$timestamp', '')" );  // et tu ne stockes pas le résultat dans une variable ?
          	} 
          
          	function chat ()
          	{ 
          		$retour_xajax = new xajaxResponse(); 
          		$retour = ''; 
          		$reponse = mysql_query( "SELECT expediteur, message, timestamp FROM chat WHERE destinataire='".$_SESSION['pseudo']."'OR expediteur='".$_SESSION['pseudo']."'" ); 
          		while( $donnees = mysql_fetch_array( $reponse ) ) 
          		{ 
          			$date = date( 'd/m/Y \à H\hi', $donnees2['timestamp'] ); 
          			$message = $donnees['message']; 
          			$expediteur = $donnees['expediteur']; 
          			$pseudo= $_GET['pseudo']; 
          			$retour='<p><strong> '.$expediteur.' </strong> le '.$date.' : '.$message.' </p>'; 
          		} 
          		$retour_xajax->addAssign( 'lecture' , 'innerHTML' , $retour ); 
          		return $retour_xajax->getXML(); 
          	} 
          	
          	require( 'xajax.inc.php' ); 
          	$xajax = new xajax(); 
          	$xajax->registerFunction( 'chat' ); 
          	$xajax->processRequests(); 
          	$xajax->printJavascript(); 
          ?> 
          
          <!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>t'chat uncupidon</title> 
          		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
          <?php $xajax->printJavascript(); ?> 
          		<script type="text/javascript"> 
          function refresh() 
          { 
          	chat(); 
          	setTimeout("refresh()", 5000); 
          } 
          		</script> 
          		<style type="text/css"> 
          #chatcomplet 
          { 
          width:400px; 
          height:400px; 
          background-repeat: no-repeat; 
          border: 1px solid black; 
          } 
          #lecture 
          { 
          position : absolute ; 
          width:400px; 
          height:300px; 
          background-color: red; 
          color : yellow; 
          overflow : scroll ; 
          border: 1px solid green; 
          } 
          #message 
          { 
          background-color: green; 
          background-attachment: fixed; 
          width:400px; 
          height:100px; 
          border: 1px solid green; 
          padding: 1px; 
          padding-top: 300px; 
          } 
          		</style> 
          	</head> 
          	<body>
          		<div id="chatcomplet"> 
          			<form action="<?php echo'chat.php?pseudo='.$pseudo.''?>" method="post"/> 
          			<div id="lecture"></div> 
          			<div id="message"> 
          				<p>Message :
          					<input type="text" name="message" size="30"/>
          					<br /> 
          					<input type="submit" value="Envoyer" /> 
          				</p> 
          			</div> 
          		</div> 
          <?php mysql_close(); ?>  // inutile
          		</form> 
          		<script type="text/javascript">refresh();</script>
          	</body> 
          </html>
          1. Contributeur
            à la place de <body> dans le document HTML !!!
            1. ok, donc j'ai fait comme tu m'as et non ca ne marche pas!

              il n ya rien qui s'affiche dans le :

              <div id="lecture"></div>

              tu as une autre solution?

              <?php 
              // on commence par ouvrir la session 
              session_start(); 
              $_SESSION['pseudo']; 
              $_SESSION['logged']; 
              
              
              // D'abord, on se connecte à MySQL 
              
              $cnx=mysql_connect("***********", "*************", "************") or die("Pb connexion au serveur".mysql_error());
              $db=mysql_select_db("************") or die("Pb selection base".mysql_error());
              
              
              
              if (isset($_POST['message'])) // Si les variables existent 
              { 
              if ($_POST['message'] != NULL) // Si on a quelque chose à enregistrer 
              { 
              
              
              // On utilise les fonctions PHP mysql_real_escape_string et htmlspecialchars pour la sécurité 
              $message = mysql_real_escape_string(htmlspecialchars($_POST['message'])); 
              $timestamp = time(); 
              
              
              $expediteur = $_SESSION['pseudo']; 
              $destinataire = $_GET['pseudo']; 
              // Ensuite on enregistre le message 
              mysql_query("INSERT INTO chat VALUES('', '$expediteur', '$destinataire', '$message', '$timestamp', '')"); 
              } 
              } 
              
              function chat () { 
              $retour_xajax = new xajaxResponse(); 
              $retour = ''; 
              
              $reponse = mysql_query("SELECT expediteur, message, timestamp FROM chat WHERE destinataire='".$_SESSION['pseudo']."'OR expediteur='".$_SESSION['pseudo']."'"); 
              while ($donnees = mysql_fetch_array($reponse) ) 
              { 
              
              $date = date('d/m/Y \à H\hi', $donnees2['timestamp']); 
              $message = $donnees['message']; 
              $expediteur = $donnees['expediteur']; 
              $pseudo= $_GET['pseudo']; 
              
              $retour='<p><strong> '.$expediteur.' </strong> le '.$date.' : '.$message.' </p>'; 
              } 
              $retour_xajax->addAssign("lecture", "innerHTML", $retour); 
              return $retour_xajax->getXML(); 
              } 
              
              require("xajax.inc.php"); 
              $xajax = new xajax(); 
              $xajax->registerFunction("chat"); 
              $xajax->processRequests(); 
              $xajax->printJavascript(); 
              ?> 
              
              
              
              
              
              <!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>t'chat uncupidon</title> 
              <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
              <?php $xajax->printJavascript(); /* Affiche le Javascript */?> 
              <script type="text/javascript"> 
              
              function refresh() 
              { 
              chat(); 
              setTimeout("refresh()", 5000); 
              } 
              </script> 
              
              
              </head> 
              <style type="text/css"> 
              
              
              #chatcomplet 
              { 
              width:400px; 
              height:400px; 
              
              background-repeat: no-repeat; 
              border: 1px solid black; 
              } 
              
              #lecture 
              { 
              position : absolute ; 
              width:400px; 
              height:300px; 
              background-color: red; 
              color : yellow; 
              overflow : scroll ; 
              border: 1px solid green; 
              } 
              
              #message 
              { 
              background-color: green; 
              background-attachment: fixed; 
              width:400px; 
              height:100px; 
              border: 1px solid green; 
              padding: 1px; 
              padding-top: 300px; 
              
              } 
              </style> 
              <body onload="refresh()">
              
              
              
              <div id="chatcomplet"> 
              
              <form action="<?php echo'chat.php?pseudo='.$pseudo.''?>" method="post"/> 
              <div id="lecture"></div> 
              
              <div id="message"> 
              
              <p>Message : <input type="text" name="message" size="30"/><br /> 
              
              <input type="submit" value="Envoyer" /> 
              </p> 
              
              </div> 
              </div> 
              
              <?php 
              
              
              mysql_close(); 
              ?> 
              
              
              </form> 
              
              <script type="text/javascript">
              refresh();
              </script>
              
              
              </body> 
              </html>
          2. Contributeur
            salut,

            peut être parce qu'il n'y a pas le type du script (tu es en XHTML Strict).
            <script type="text/javascript">
            refresh();
            </script> 

            sinon tu peux essayer de l'initialiser au chargement :
            <body onload="refresh()">


            et pense à mettre ton code en forme (avec le bouton "Conserver la mise en forme du texte sélectionné") avant de poster, merci !
            1. merci de ta reponse!

              donc j'ai rajouter le type="text/javascript et cela ne change rien!!

              et je ne sais pas comment faire ni ou metre cela <body onload="refresh()">pour l'initialiser au chargement !

              <?php 
              // on commence par ouvrir la session 
              session_start(); 
              $_SESSION['pseudo']; 
              $_SESSION['logged']; 
              
              
              // D'abord, on se connecte à MySQL 
              
              $cnx=mysql_connect("**********", "************", "**********") or die("Pb connexion au serveur".mysql_error());
              $db=mysql_select_db("*************") or die("Pb selection base".mysql_error());
              
              
              
              if (isset($_POST['message'])) // Si les variables existent 
              { 
              if ($_POST['message'] != NULL) // Si on a quelque chose à enregistrer 
              { 
              
              
              // On utilise les fonctions PHP mysql_real_escape_string et htmlspecialchars pour la sécurité 
              $message = mysql_real_escape_string(htmlspecialchars($_POST['message'])); 
              $timestamp = time(); 
              
              
              $expediteur = $_SESSION['pseudo']; 
              $destinataire = $_GET['pseudo']; 
              // Ensuite on enregistre le message 
              mysql_query("INSERT INTO chat VALUES('', '$expediteur', '$destinataire', '$message', '$timestamp', '')"); 
              } 
              } 
              
              function chat () { 
              $retour_xajax = new xajaxResponse(); 
              $retour = ''; 
              
              $reponse = mysql_query("SELECT expediteur, message, timestamp FROM chat WHERE destinataire='".$_SESSION['pseudo']."'OR expediteur='".$_SESSION['pseudo']."'"); 
              while ($donnees = mysql_fetch_array($reponse) ) 
              { 
              
              $date = date('d/m/Y \à H\hi', $donnees2['timestamp']); 
              $message = $donnees['message']; 
              $expediteur = $donnees['expediteur']; 
              $pseudo= $_GET['pseudo']; 
              
              $retour='<p><strong> '.$expediteur.' </strong> le '.$date.' : '.$message.' </p>'; 
              } 
              $retour_xajax->addAssign("lecture", "innerHTML", $retour); 
              return $retour_xajax->getXML(); 
              } 
              
              require("xajax.inc.php"); 
              $xajax = new xajax(); 
              $xajax->registerFunction("chat"); 
              $xajax->processRequests(); 
              $xajax->printJavascript(); 
              ?> 
              
              
              
              
              
              <!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>t'chat uncupidon</title> 
              <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
              <?php $xajax->printJavascript(); /* Affiche le Javascript */?> 
              <script type="text/javascript"> 
              
              function refresh() 
              { 
              chat(); 
              setTimeout("refresh()", 5000); 
              } 
              </script> 
              
              
              </head> 
              <style type="text/css"> 
              
              
              #chatcomplet 
              { 
              width:400px; 
              height:400px; 
              
              background-repeat: no-repeat; 
              border: 1px solid black; 
              } 
              
              #lecture 
              { 
              position : absolute ; 
              width:400px; 
              height:300px; 
              background-color: red; 
              color : yellow; 
              overflow : scroll ; 
              border: 1px solid green; 
              } 
              
              #message 
              { 
              background-color: green; 
              background-attachment: fixed; 
              width:400px; 
              height:100px; 
              border: 1px solid green; 
              padding: 1px; 
              padding-top: 300px; 
              
              } 
              </style> 
              <body> 
              
              
              
              
              <div id="chatcomplet"> 
              
              <form action="<?php echo'chat.php?pseudo='.$pseudo.''?>" method="post"/> 
              <div id="lecture"></div> 
              
              <div id="message"> 
              
              <p>Message : <input type="text" name="message" size="30"/><br /> 
              
              <input type="submit" value="Envoyer" /> 
              </p> 
              
              </div> 
              </div> 
              
              <?php 
              
              
              mysql_close(); 
              ?> 
              
              
              </form> 
              
              <script type="text/javascript">
              refresh();
              </script>
              
              
              </body> 
              </html>
          3. Contributeur
            salut,

            pour moi ça a l'air de tourner.

            je suppose que tu as trouvé l'erreur, tiens nous au courant !
            1. bonsoir!

              oui j'ai trouvé l'erreur , c'etait la boucle que j'avais mal placée .

              MAIS, j'ai un autre problême je voudrai que mon script se rafraichisse automatiquement , et donc j'ai rajouté un peu de ajax ( PS / JE NE CONNAIS RIEN EN AJAX) eT donc biensur ca ne marche pas.

              a oui j'oublier, il ,n ya aucune erreur juste, il veut pas rafraichir!

              pouvez vous m'expliquer mes erreur svp?

              <?php
              // on commence par ouvrir la session
              session_start();
              $_SESSION['pseudo'];
              $_SESSION['logged'];

              // D'abord, on se connecte à MySQL

              $cnx=mysql_connect("**********", "***********", "********") or die("Pb connexion au serveur".mysql_error());
              $db=mysql_select_db("**********") or die("Pb selection base".mysql_error());

              if (isset($_POST['message'])) // Si les variables existent
              {
              if ($_POST['message'] != NULL) // Si on a quelque chose à enregistrer
              {

              // On utilise les fonctions PHP mysql_real_escape_string et htmlspecialchars pour la sécurité
              $message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
              $timestamp = time();

              $expediteur = $_SESSION['pseudo'];
              $destinataire = $_GET['pseudo'];
              // Ensuite on enregistre le message
              mysql_query("INSERT INTO chat VALUES('', '$expediteur', '$destinataire', '$message', '$timestamp', '')");
              }
              }

              function chat () {
              $retour_xajax = new xajaxResponse();
              $retour = '';

              $reponse = mysql_query("SELECT expediteur, message, timestamp FROM chat WHERE destinataire='".$_SESSION['pseudo']."'OR expediteur='".$_SESSION['pseudo']."'");
              while ($donnees = mysql_fetch_array($reponse) )
              {

              $date = date('d/m/Y \à H\hi', $donnees2['timestamp']);
              $message = $donnees['message'];
              $expediteur = $donnees['expediteur'];
              $pseudo= $_GET['pseudo'];

              $retour='<p><strong> '.$expediteur.' </strong> le '.$date.' : '.$message.' </p>';
              }
              $retour_xajax->addAssign("lecture", "innerHTML", $retour);
              return $retour_xajax->getXML();
              }

              require("xajax.inc.php");
              $xajax = new xajax();
              $xajax->registerFunction("chat");
              $xajax->processRequests();
              $xajax->printJavascript();
              ?>

              <!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>t'chat uncupidon</title>
              <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
              <?php $xajax->printJavascript(); /* Affiche le Javascript */?>
              <script type="text/javascript">

              function refresh()
              {
              chat();
              setTimeout("refresh()", 5000);
              }
              </script>

              </head>
              <style type="text/css">

              #chatcomplet
              {
              width:400px;
              height:400px;

              background-repeat: no-repeat;
              border: 1px solid black;
              }

              #lecture
              {
              position : absolute ;
              width:400px;
              height:300px;
              background-color: red;
              color : yellow;
              overflow : scroll ;
              border: 1px solid green;
              }

              #message
              {
              background-color: green;
              background-attachment: fixed;
              width:400px;
              height:100px;
              border: 1px solid green;
              padding: 1px;
              padding-top: 300px;

              }
              </style>
              <body>

              <div id="chatcomplet">

              <form action="<?php echo'chat.php?pseudo='.$pseudo.''?>" method="post"/>
              <div id="lecture"></div>

              <div id="message">

              <p>Message : <input type="text" name="message" size="30"/><br />

              <input type="submit" value="Envoyer" />
              </p>

              </div>
              </div>

              <?php

              mysql_close();
              ?>

              </form>

              <script>
              refresh();
              </script>

              </body>
              </html>