Téléchargement
illégal
Posez votre question Signaler

Script php chat qui marche mal

micka30 107Messages postés 30 décembre 2007Date d'inscription - Dernière réponse le 18 avril 2008 à 20:13
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>
Lire la suite 

Script php chat qui marche mal »

25 réponses
Réponse
+0
moins plus
salut,

pour moi ça a l'air de tourner.

je suppose que tu as trouvé l'erreur, tiens nous au courant !
micka30- 17 avril 2008 à 17:17
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>
Ajouter un commentaire
Réponse
+0
moins plus
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 !
micka30- 17 avril 2008 à 18:19
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>
Ajouter un commentaire
Réponse
+0
moins plus
à la place de <body> dans le document HTML !!!
micka30- 17 avril 2008 à 18:46
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>
Ajouter un commentaire
Réponse
+0
moins plus
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>
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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'
Ajouter un commentaire
Réponse
+0
moins plus
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>
micka30- 17 avril 2008 à 19:24
re!

voila il est en ligne!

ca ne marche pas.

et xajax.js est a la racine de mon site.
Ajouter un commentaire
Réponse
+0
moins plus
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.
micka30- 17 avril 2008 à 19:37
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>
Dalida- 17 avril 2008 à 19:39
ben attends, faut déjà un document clean !

fais la modif en <13>, après ça devrait être valide.
Ajouter un commentaire
Réponse
+0
moins plus
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">
micka30- 17 avril 2008 à 19:57
voila il est ok!


This Page Is Valid XHTML 1.0 Strict!
Ajouter un commentaire
Réponse
+0
moins plus
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 !
Ajouter un commentaire
Réponse
+0
moins plus
lol , dsl je suis un boulet en ajax!


j'ai pas compris ce que je devait faire en 17
Dalida- 17 avril 2008 à 20:28
riende particulier, je te partageais mon désarrois !

et sans le 'Refresh()' tu réussis toujours à faire tourner le chat ?
(pauvre chat…)
-:o)
micka30- 17 avril 2008 à 20:32
ben 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
Ajouter un commentaire
Réponse
+0
moins plus
et tu sais à quoi tu as touché depuis que ça marchait ?
micka30- 17 avril 2008 à 20:56
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>
micka30- 18 avril 2008 à 12:56
up
micka30- 18 avril 2008 à 20:13
j'ouvre un autre poste avec un titre plus explicite!
Ajouter un commentaire
Ce document intitulé « script php chat qui marche mal » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?