Script php chat qui marche mal
micka30
Messages postés
102
Statut
Membre
-
micka30 Messages postés 102 Statut Membre -
micka30 Messages postés 102 Statut Membre -
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>
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
-
salut,
pour moi ça a l'air de tourner.
je suppose que tu as trouvé l'erreur, tiens nous au courant !
-
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>
-
-
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 !
-
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>
-
-
à la place de <body> dans le document HTML !!!
-
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>
-
-
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> -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
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.
-
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'
-
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> -
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.
-
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>
-
-
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">
-
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 !
-
lol , dsl je suis un boulet en ajax!
j'ai pas compris ce que je devait faire en 17 -
et tu sais à quoi tu as touché depuis que ça marchait ?
-
- Donc 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>
-