begin process at 2010 03 19 18:42:22
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Javascript / DHTML

 > CHAT PHP/AJAX SIMPLE ET COMPACT

CHAT PHP/AJAX SIMPLE ET COMPACT


 Information sur la source

Note :
9,33 / 10 - par 3 personnes
9,33 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Javascript / DHTML Classé sous :Chat, Ajax, Php, Simple, auto-modifie Niveau :Débutant Date de création :24/02/2008 Date de mise à jour :16/03/2008 12:39:47 Vu :8 097

Auteur : SuperChouquette

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (21)
Ajouter un commentaire et/ou une note


 Description

Cliquez pour voir la capture en taille normale
Voici un petit script de chat php/ajax, j'ai 15 ans c'est la première source que je dépose ...

c'est un petit script de base pour les débutants, le script Ajax n'est pas très compliqué, je me suis aidé de ce site : http://www.xul.fr/xml-ajax.html pour l'Ajax car je n'y connaissait rien.
L'originalité est dans le faite que le script ne nécessite aucune base de donnée ni aucun fichier texte puisqu'il s'auto-modifie.

Le Script possédé désormais une gestion des utilisateurs, et un tout nouveau design.
Pour connecter un utilisateur, il suffit, soit de se rendre sur la page et la on vous demandera de choisir un pseudo, soit d'appeler la page et de faire passer le pseudo de l'utilisateur par l'url (PAGE.php?login=PSEUDO , les caractères  majuscule sont à modifier.)

Ps: Je n'ai pas le temps de mettre les explications de mon script, je le ferais ce soir ou demain ...


merci de dire ce que vous en pensez et de mettre une note !

Source

  • <?php
  • session_start();
  • $page_name = basename( __FILE__ );
  • if(isset($_POST['login']))
  • {
  • $_SESSION['authentification'] = 'oui';
  • $_SESSION['login'] = $_POST['login'];
  • }
  • elseif (isset($_GET['login']) && !isset($_SESSION['authentification']))
  • {
  • $_SESSION['authentification'] = 'oui';
  • $_SESSION['login'] = $_POST['login'];
  • }
  • if (isset($_SESSION['authentification']))
  • {
  • $login = $_SESSION['login'];
  • }
  • elseif (!isset($_SESSION['authentification']) && !isset($_GET['action']))
  • {
  • echo '<html><head>
  • <title>Petit Chat - By Chouquette</title>
  • <style type="text/css">* {margin:0px; padding:0px;}
  • body {background:url('.$page_name.'?action=fond) repeat-x #2fb4ff;}
  • #identification {position: absolute; width: 300px; margin-left: -150px; left: 50%; height: 80px; margin-top: -60px; top: 50%; border: 1px solid #000000; background-color: #eee; padding:5px;}
  • body,td,th {font-family: Verdana; font-size: 11px;}
  • p {margin-top: 0px; margin-bottom: 0px; line-height: 150%}
  • </style>
  • </head><body>
  • <img style="margin-left:5px;" src="'.$page_name.'?action=logo" width="387" height="200" />
  • <div id="identification">
  • <form method="post" action="'.$page_name.'">
  • <p>Login :</p><input type="text" name="login" id="login" />
  • <p><input type="submit" style=" margin-top:8px;" name="button" id="button" value="Envoyer" /></p>
  • </form>
  • </body></html>';
  • exit();
  • }
  • $message_garde = 50;
  • $tempsdeconnect = 15;
  • $chat='a:0:{}';
  • $enligne='a:0:{}';
  • $chat = stripslashes($chat);
  • $chat = unserialize($chat);
  • $enligne = stripslashes($enligne);
  • $enligne = unserialize($enligne);
  • $images = array(
  • "fond" =>
  • "R0lGODlhA1wwiwLEXDBcMC+0/y+z/7Hb9TCz/zK1/zW2/jq3/j+4/kW6/Uy9/VO//FvB/GLD+2fF+2rG+27H+nLI+nbK+nvL+YDM+YbO+IzQ+JHS+JbT95zV96HX9qbY9qva9q7b9f///1wwXDBcMFwwXDBcMCH5BAFcMFwwHVwwLFwwXDBcMFwwA1wwiwJcMAX/oCCOZGmeXCI3qqrQcrALz3Rt33i9cXu//cCgcEgsGo8/jXLJbDqf0Kj0mVFmrtisdsvter9XjFicGZvP6LR6nb6Y3Zc4Jk6v2+/4vF5vscT7gIGCg4SFhBUVfYiLjI2Oj5CRiBQVlBSXmJmam5ydnp+YE5eiE6Wmp6ipqquqEqUSsLGys7S1trIRubq7vL2+vhC5EMPExcbHyMnEDw8Qzc/M0dLT1NMO1w4P19rY3d7f3g0NDuLl5ufo6egMDA3s7uzx8vP09fb38wv6+/z9/v9cMAMKBKhAn4KDCBMqXFzIsKHDhxAXJkCYoKLFixgzatzIsaPHBAgqXCIYSbKkyZMoU9WqXFzJ0uSBkS8RHJhJs6bNmzhz6tx508ABA0CDCh1KtKjRo0iLFjBQYCnTpk+bSp1KtarVq1ivEiDQdKvXr2DDih37dVwwgQFozxJcMDBcMFwwW7dv4cp123au21wwAeTmtbsXL19cMH3v+oW7d65fvHkHIwbMWHHixoXtNmZM+K5eyZYrHx4MuLDiy4kjY/58OPPizo8zUz5NmbBnwaVFe+Z8ubZo1KYtBw59+nbrz39fG6ZdubjexX1DT+48Wblr2KZp895teDh11cU530aM3Lht4b9rG++dO0AIXDA7",
  • "logo" =>
  • "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");
  • function secureArray($item)
  • {
  • $item=addslashes($item);
  • $item= str_replace("<script",' ',$item);
  • $item= str_replace("rn",'<br />',$item);
  • return $item;
  • }
  • function ChangerVar($modifier,$remplacement,$variable)
  • {
  • $fichier = '';
  • $tableau = file($modifier);
  • while(list($cle,$val) = each($tableau))
  • {
  • $fichier .= $val;
  • }
  • $fichier = str_replace("<","<",$fichier);
  • $fichier = str_replace(">",">",$fichier);
  • preg_match_all("/".$variable."=(.*);/",$fichier,$matches, PREG_SET_ORDER);
  • foreach ($matches as $message)
  • {
  • $fichier = str_replace($message[0],"".$variable."='".$remplacement."';",$fichier);
  • }
  • $fichier = str_replace("<","<",$fichier);
  • $fichier = str_replace(">",">",$fichier);
  • $fichieredit = fopen($modifier,"w+");
  • fwrite($fichieredit,$fichier);
  • fclose($fichieredit);
  • }
  • if (isset($_GET['action'])) {
  • switch ($_GET['action']) {
  • case "nouveau_message":
  • $key = 'pasconnecte';
  • for ($numero = 0; $numero < count($enligne); $numero++)
  • {
  • if($login == $enligne[$numero][0])
  • {
  • $key = 'connecte';
  • $enligne[$numero][0] = $login;
  • $enligne[$numero][1] = time();
  • $enligne = serialize($enligne);
  • ChangerVar($page_name,SecureArray($enligne),'enligne');
  • $enligne = unserialize($enligne);
  • }
  • }
  • if($key == 'pasconnecte')
  • {
  • $nbrenligne = count($enligne);
  • $enligne[$nbrenligne][0] = $login;
  • $enligne[$nbrenligne][1] = time();
  • $enligne = serialize($enligne);
  • ChangerVar($page_name,SecureArray($enligne),'enligne');
  • }
  • for ($numero = 0; $numero < count($chat); $numero++)
  • {
  • echo $chat[$numero][1].' - '.stripslashes(urldecode($chat[$numero][2])).' - <strong>'.stripslashes(urldecode($chat[$numero][0])).'</strong><br />
  • ';
  • }
  • exit();
  • break;
  • case "vider":
  • ChangerVar($page_name,secureArray('a:0:{}'),'chat');
  • break;
  • case "poster":
  • $nbr = count($chat);
  • $chat[$nbr][0] = SecureArray(urlencode($login));
  • $chat[$nbr][1] = date('d/m/y h:i:s');
  • $chat[$nbr][2] = SecureArray(urlencode($_POST['message']));
  • if($nbr >= $message_garde) { array_shift($chat); }
  • $chat = serialize($chat);
  • ChangerVar($page_name,SecureArray($chat),'chat');
  • $chat = unserialize($chat);
  • exit();
  • break;
  • case "enligne" :
  • $cache = array();
  • echo "<select class='UserOnline' size=\"20\">";
  • for ($numero = 0; $numero < count($enligne); $numero++)
  • {
  • if($enligne[$numero][1] > time() - $tempsdeconnect )
  • {
  • $cachenbr = count($cache);
  • $cache[$cachenbr][0] = $enligne[$numero][0];
  • $cache[$cachenbr][1] = $enligne[$numero][1];
  • echo "<option>".$enligne[$numero][0]."</option>
  • ";
  • }
  • }
  • echo "</select>";
  • $cache = serialize($cache);
  • ChangerVar($page_name,SecureArray($cache),'enligne');
  • exit();
  • break;
  • case "fond" :
  • header("Content-type: gif");
  • echo stripslashes(base64_decode($images['fond']));
  • break;
  • case "logo" :
  • header("Content-type: gif");
  • echo stripslashes(base64_decode($images['logo']));
  • break;
  • }
  • }
  • ?>
  • <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  • <html>
  • <head>
  • <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  • <title>Chouquette - Chat Ajax/PHP</title>
  • <style type="text/css">
  • body {
  • font:Verdana;
  • font-size:12px;
  • background:url(<?php echo $page_name.'?action=fond'; ?>) repeat-x #2fb4ff;
  • font-family: Verdana;
  • }
  • #chat {
  • width:810px;
  • margin-top:160px;
  • position:absolute;
  • margin-left: -405px;
  • left: 50%;
  • }
  • .UserOnline {
  • width:150px;
  • height:300px;
  • float:right;
  • background-color: #000000;
  • color : #FFFFFF;
  • border:none;
  • }
  • #utilisateurs {
  • width:150px;
  • height:300px;
  • float:right;
  • overflow:hidden;
  • border: 1px solid #FFFFFF;
  • background-color: #000000;
  • }
  • #texte {
  • width:650px;
  • height:300px;
  • overflow-y: auto;
  • border: 1px solid #FFFFFF;
  • background-color: #000000;
  • color : #FFFFFF;
  • }
  • #message {
  • height:40px;
  • width:810px;
  • margin-top:10px;
  • background-color: #000000;
  • color : #FFFFFF;
  • }
  • <!--
  • * {
  • margin:0px;
  • padding:0px;
  • }
  • li {
  • margin-left:15px;
  • }
  • .menuitems{
  • padding-left:15px;
  • padding-right:10px;
  • }
  • p {
  • margin-top: 0px;
  • margin-bottom: 0px;
  • line-height: 150%}
  • input,textarea,select {
  • border: 1px solid #FFFFFF;
  • font-weight: bold;
  • font-size: 10px;
  • font-family: verdana;
  • }
  • input {
  • border:1px solid #000000;
  • }
  • hr {
  • color: #0093e6;
  • background-color: #0093e6;
  • height: 5px;
  • }
  • </style>
  • <script language="javascript" type="text/javascript">
  • var actualise = 1000; // temps entre chaque rechargement des messages
  • function httprequest() // fonction nécessaires pour les requêtes Ajax
  • {
  • var xmlhttp=false;
  • try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");}
  • catch (e){
  • try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
  • catch (e) {xmlhttp = false;}
  • }
  • if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp = new XMLHttpRequest(); }
  • return xmlhttp;
  • }
  • function envoyer()
  • {
  • var texte = document.getElementById('message').value;
  • while(texte.indexOf("&") > 0 || texte.indexOf("+") > 0)
  • {
  • texte = texte.replace("&","%26");
  • texte = texte.replace("+","%2B");
  • }
  • // Envoi de la requete
  • var envoyer = httprequest();
  • envoyer.open("POST", '<?php echo $page_name; ?>?action=poster', true);
  • envoyer.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  • envoyer.send('message='+texte);
  • }
  • function vider()
  • {
  • var vider = httprequest();
  • vider.open("GET","<?php echo $page_name; ?>?action=vider",true);
  • vider.send(null);
  • }
  • function Message()
  • {
  • var message = httprequest();
  • message.open("GET","<?php echo $page_name; ?>?action=nouveau_message",true);
  • message.onreadystatechange = function() {
  • if (message.readyState == 4)
  • {
  • if(message.status == 200) { document.getElementById('texte').innerHTML = message.responseText;}
  • }
  • }
  • message.send(null);
  • setTimeout("Message()",actualise);
  • }
  • function Utilisateurs()
  • {
  • var utilisateur = httprequest();
  • utilisateur.open("GET","<?php echo $page_name; ?>?action=enligne",true);
  • utilisateur.onreadystatechange = function() {
  • if (utilisateur.readyState == 4)
  • {
  • if(utilisateur.status == 200) { document.getElementById("utilisateurs").innerHTML = utilisateur.responseText;}
  • }
  • }
  • utilisateur.send(null);
  • setTimeout("Utilisateurs()",5000);
  • }
  • </script>
  • </head>
  • <body onLoad="Message();Utilisateurs();">
  • <div id="chat">
  • <div id='utilisateurs'></div>
  • <div id='texte'></div>
  • <p>
  • <textarea id="message" cols="80" rows="3"></textarea>
  • </p>
  • <p>&nbsp;</p>
  • <p>
  • <input type="button" onClick="envoyer()" value="Envoyer">
  • <input type="button" onClick="vider()" value="Vider les messages">
  • </p>
  • </div>
  • <img src="<?php echo $page_name.'?action=logo'; ?>" width="387" height="200">
  • </body>
  • </html>
<?php
session_start();
$page_name = basename( __FILE__ );

if(isset($_POST['login']))
{
	$_SESSION['authentification'] = 'oui';
	$_SESSION['login'] = $_POST['login'];
}
elseif (isset($_GET['login']) && !isset($_SESSION['authentification']))
{
	$_SESSION['authentification'] = 'oui';
	$_SESSION['login'] = $_POST['login'];
}

if (isset($_SESSION['authentification']))
{
$login = $_SESSION['login'];
}
elseif (!isset($_SESSION['authentification']) && !isset($_GET['action']))
{
echo '<html><head>
<title>Petit Chat - By Chouquette</title>
<style type="text/css">* {margin:0px; padding:0px;}
body {background:url('.$page_name.'?action=fond) repeat-x #2fb4ff;}
#identification {position: absolute; width: 300px; margin-left: -150px; left: 50%; height: 80px; margin-top: -60px; top: 50%; border: 1px solid #000000; background-color: #eee; padding:5px;}
body,td,th {font-family: Verdana; font-size: 11px;}
p {margin-top: 0px; margin-bottom: 0px; line-height: 150%}
</style>
</head><body>
<img style="margin-left:5px;" src="'.$page_name.'?action=logo" width="387" height="200" />
<div id="identification">
<form method="post" action="'.$page_name.'">
  <p>Login :</p><input type="text" name="login" id="login" />
  <p><input type="submit" style=" margin-top:8px;" name="button" id="button" value="Envoyer" /></p>
</form>
</body></html>';

exit();

}


$message_garde = 50;
$tempsdeconnect = 15;

$chat='a:0:{}';

$enligne='a:0:{}';

$chat = stripslashes($chat);
$chat = unserialize($chat);
$enligne = stripslashes($enligne);
$enligne = unserialize($enligne);

$images = array( 
"fond" => 
"R0lGODlhA1wwiwLEXDBcMC+0/y+z/7Hb9TCz/zK1/zW2/jq3/j+4/kW6/Uy9/VO//FvB/GLD+2fF+2rG+27H+nLI+nbK+nvL+YDM+YbO+IzQ+JHS+JbT95zV96HX9qbY9qva9q7b9f///1wwXDBcMFwwXDBcMCH5BAFcMFwwHVwwLFwwXDBcMFwwA1wwiwJcMAX/oCCOZGmeXCI3qqrQcrALz3Rt33i9cXu//cCgcEgsGo8/jXLJbDqf0Kj0mVFmrtisdsvter9XjFicGZvP6LR6nb6Y3Zc4Jk6v2+/4vF5vscT7gIGCg4SFhBUVfYiLjI2Oj5CRiBQVlBSXmJmam5ydnp+YE5eiE6Wmp6ipqquqEqUSsLGys7S1trIRubq7vL2+vhC5EMPExcbHyMnEDw8Qzc/M0dLT1NMO1w4P19rY3d7f3g0NDuLl5ufo6egMDA3s7uzx8vP09fb38wv6+/z9/v9cMAMKBKhAn4KDCBMqXFzIsKHDhxAXJkCYoKLFixgzatzIsaPHBAgqXCIYSbKkyZMoU9WqXFzJ0uSBkS8RHJhJs6bNmzhz6tx508ABA0CDCh1KtKjRo0iLFjBQYCnTpk+bSp1KtarVq1ivEiDQdKvXr2DDih37dVwwgQFozxJcMDBcMFwwW7dv4cp123au21wwAeTmtbsXL19cMH3v+oW7d65fvHkHIwbMWHHixoXtNmZM+K5eyZYrHx4MuLDiy4kjY/58OPPizo8zUz5NmbBnwaVFe+Z8ubZo1KYtBw59+nbrz39fG6ZdubjexX1DT+48Wblr2KZp895teDh11cU530aM3Lht4b9rG++dO0AIXDA7",
"logo" =>
"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");

function secureArray($item)
{
$item=addslashes($item);
$item= str_replace("<script",' ',$item);
$item= str_replace("rn",'<br />',$item);
return $item;
} 

function ChangerVar($modifier,$remplacement,$variable)
{
	$fichier = '';
	$tableau = file($modifier);
	while(list($cle,$val) = each($tableau))
	{
		$fichier .= $val;
	}
	$fichier = str_replace("<","<",$fichier);
	$fichier = str_replace(">",">",$fichier);
	preg_match_all("/".$variable."=(.*);/",$fichier,$matches, PREG_SET_ORDER);
	foreach ($matches as $message)
	{
	   $fichier = str_replace($message[0],"".$variable."='".$remplacement."';",$fichier);
	}
	$fichier = str_replace("<","<",$fichier);
	$fichier = str_replace(">",">",$fichier);
	
	$fichieredit = fopen($modifier,"w+");
	fwrite($fichieredit,$fichier);  
	fclose($fichieredit);
	
}

if (isset($_GET['action'])) {
  
  switch ($_GET['action']) {


  case "nouveau_message":
	
	$key = 'pasconnecte';
	for ($numero = 0; $numero < count($enligne); $numero++)
	{
		if($login == $enligne[$numero][0])
		{
		$key = 'connecte';
		$enligne[$numero][0] = $login;
		$enligne[$numero][1] = time();
		$enligne = serialize($enligne);
		ChangerVar($page_name,SecureArray($enligne),'enligne');
		$enligne = unserialize($enligne);
		}
	}


	
	if($key == 'pasconnecte')
	{ 
	$nbrenligne = count($enligne);
	$enligne[$nbrenligne][0] = $login;
	$enligne[$nbrenligne][1] =  time();
	$enligne = serialize($enligne);
	ChangerVar($page_name,SecureArray($enligne),'enligne');
	}

	for ($numero = 0; $numero < count($chat); $numero++)
	{
		echo $chat[$numero][1].'  -  '.stripslashes(urldecode($chat[$numero][2])).'     -     <strong>'.stripslashes(urldecode($chat[$numero][0])).'</strong><br />
';
	}
		exit();
	break;

	case "vider":
		ChangerVar($page_name,secureArray('a:0:{}'),'chat');
	break;

	case "poster":
		$nbr = count($chat);
		
		$chat[$nbr][0] = SecureArray(urlencode($login));
		$chat[$nbr][1] = date('d/m/y h:i:s');
		$chat[$nbr][2] = SecureArray(urlencode($_POST['message']));
		if($nbr >= $message_garde) { array_shift($chat); }
		$chat = serialize($chat);
		ChangerVar($page_name,SecureArray($chat),'chat');
		$chat = unserialize($chat);
		exit();
	break;

	case "enligne" :
		$cache = array();
		echo "<select class='UserOnline' size=\"20\">";
		for ($numero = 0; $numero < count($enligne); $numero++)
		{
	
			if($enligne[$numero][1] > time() - $tempsdeconnect )
			{
			$cachenbr = count($cache);
			$cache[$cachenbr][0] = $enligne[$numero][0];
			$cache[$cachenbr][1] = $enligne[$numero][1];
			echo "<option>".$enligne[$numero][0]."</option>
";
			}
		}
		echo "</select>";
		$cache = serialize($cache);
		ChangerVar($page_name,SecureArray($cache),'enligne');
		exit();
	break;
	
	case "fond" :
	header("Content-type: gif");
	echo stripslashes(base64_decode($images['fond']));
	break;

    case "logo" :
	header("Content-type: gif");
	echo stripslashes(base64_decode($images['logo']));
	break;

    }
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title>Chouquette - Chat Ajax/PHP</title>
<style type="text/css">

body {
font:Verdana;
font-size:12px;
background:url(<?php echo $page_name.'?action=fond'; ?>) repeat-x #2fb4ff;
font-family: Verdana;
}

#chat {
width:810px;
margin-top:160px;
position:absolute;
margin-left: -405px;
left: 50%;

}

.UserOnline {
width:150px;
height:300px;
float:right;
background-color: #000000;
color : #FFFFFF;
border:none;
}


#utilisateurs {
width:150px;
height:300px;
float:right;
overflow:hidden;
border: 1px solid #FFFFFF;
background-color: #000000;
}

#texte {
width:650px;
height:300px;
overflow-y: auto;
border: 1px solid #FFFFFF;
background-color: #000000;
color : #FFFFFF;
}

#message {
height:40px;
width:810px;
margin-top:10px;
background-color: #000000;
color : #FFFFFF;
}
<!--
* {
margin:0px;
padding:0px;
}

li {
margin-left:15px;
}

.menuitems{
padding-left:15px;
padding-right:10px;
}

p {
margin-top: 0px;
margin-bottom: 0px;
line-height: 150%}


input,textarea,select {
    border: 1px solid #FFFFFF; 
    font-weight: bold; 
    font-size: 10px; 
    font-family: verdana; 
}

input {
border:1px solid #000000;
}

hr {
color: #0093e6;
background-color: #0093e6;
height: 5px;
}

</style>
<script language="javascript" type="text/javascript">
var actualise = 1000; // temps entre chaque rechargement des messages

function httprequest() // fonction nécessaires pour les requêtes Ajax
{
	var xmlhttp=false;
	try	{ xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");}
	catch (e){	
		try	{	xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");		}
		catch (e)	{xmlhttp = false;}
	}
	if (!xmlhttp && typeof XMLHttpRequest!='undefined')	{ xmlhttp = new XMLHttpRequest(); }
	return xmlhttp;
}


	
function envoyer()
{
		var texte = document.getElementById('message').value;
		while(texte.indexOf("&") > 0 || texte.indexOf("+") > 0)
		{
		texte = texte.replace("&","%26");
		texte = texte.replace("+","%2B");
		}
		
		// Envoi de la requete
		var envoyer = httprequest();
		envoyer.open("POST", '<?php echo $page_name; ?>?action=poster', true);		
		envoyer.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		envoyer.send('message='+texte); 
}

function vider()
{
	var vider = httprequest();
	vider.open("GET","<?php echo $page_name; ?>?action=vider",true);
	vider.send(null);	
}

function Message()
{
	var message = httprequest();
	message.open("GET","<?php echo $page_name; ?>?action=nouveau_message",true);
	message.onreadystatechange = function() {
		if (message.readyState == 4)
		{
		 if(message.status  == 200) { document.getElementById('texte').innerHTML = message.responseText;}
		}

	}
	message.send(null);	
	setTimeout("Message()",actualise);
	
}

function Utilisateurs()
{
	var utilisateur = httprequest();
	utilisateur.open("GET","<?php echo $page_name; ?>?action=enligne",true);
	utilisateur.onreadystatechange = function() {
		if (utilisateur.readyState == 4)
		{
		 if(utilisateur.status  == 200) { document.getElementById("utilisateurs").innerHTML = utilisateur.responseText;}
		}

	}
	utilisateur.send(null);	 
	setTimeout("Utilisateurs()",5000);

}


</script>
</head>
<body onLoad="Message();Utilisateurs();">
<div id="chat">
<div id='utilisateurs'></div>
<div id='texte'></div>
<p>
  <textarea id="message" cols="80" rows="3"></textarea>
  </p>
<p>&nbsp;</p>
<p>
  <input type="button" onClick="envoyer()"  value="Envoyer">
  <input type="button" onClick="vider()"  value="Vider les messages">
</p>
</div>
<img src="<?php echo $page_name.'?action=logo'; ?>" width="387" height="200">
</body>
</html>



 Historique

05 mars 2008 16:29:06 :
- Ajout d'un systeme d'authentification et la gestion des utilisateur - Nouveau Design
16 mars 2008 12:39:47 :
- suppression de bug ..

 Sources de la même categorie

BOUTON POUR SITE WEB PAYMENT par Tom56340
Source avec Zip Source avec une capture PETIT CLIENT + AJAX + PHP par kiki67100
Source avec Zip Source avec une capture BOÎTE À ONGLETS / MENUS ET SOUS-MENUS / JAVASCRIPT / PHP / D... par Heirem
Source avec Zip Source avec une capture JUKEBOX EN LIGNE par Flachy Joe
Source avec Zip Source avec une capture ONGLET GÉNÉRÉ EN PHP ET REQUETE AJAX par djmmix

 Sources en rapport avec celle ci

Source avec une capture PAGINATION EN PHP par Orangina
Source avec Zip Source avec une capture GALERIE PHOTO SIMPLE À GÉRER par francky6691
Source avec Zip CLIENT CHAT (MESSAGERIE PRIVÉE) AJAX ET PHP par zniko07
Source avec Zip CHAT AJAX AVEC MYSQL QUASI COMPLET par bloom1
Source avec Zip Source avec une capture PHPFREECHAT - UN SERVEUR DE CHAT GRATUIT EN PHP + AJAX par Kerphi1

Commentaires et avis

Commentaire de jantosze le 25/02/2008 10:13:49

Salut,

En première lecture qq rems de forme:
- partie PHP : sur la série des if(@$_GET['action']... J'aurai tendance à utiliser un switch / case avec une gestion du default, je trouve que cela apporte en lisibilité.
-partie JS: bien les 2 try sur ActiveXObject j'en mettrai un aussi sur le if qui suit,
if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp = new XMLHttpRequest(); }  par
  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
    try {
      xmlhttp = new XMLHttpRequest();
      } catch (e) {
      xmlhttp = false;
      }
    }
  return xmlhttp;
  }
Du fait de readyState == 4 mettre une trace d'erreur pour if( mesage.status == 200 ) { ... } else { "il y  a un problem avec request err_num:"+message.status);
Faire un test sur var XXXX = httprequest(); car dans ton code tu peux avoir NULL; De même initialiser var xmlhttp = false qui est réservé aux ops BOOL je préfère NULL.

Cdt
JAN

Commentaire de neigedhiver le 25/02/2008 16:08:46

Salut,

"partie PHP : sur la série des if(@$_GET['action']... J'aurai tendance à utiliser un switch / case avec une gestion du default, je trouve que cela apporte en lisibilité."

...mais fait perdre en performances. D'un autre côté, une série de blocs if, c'est pas optimisé. Mieux vaut utiliser un if ... elseif ... else en prenant soin de mettre en premier l'action qui a le plus de chances de se produire.
Une boucle switch doit parcourir tous les cas possibles avant de se décider. Une boucle if elseif else les parcourt les uns après les autres, et sort dès que le bon a été trouvé.
Et puis les @$_GET c'est moche, très moche.
Mieux vaut une boucle comme ça :

if (isset($_GET['action'])) {
  if ($_GET['action'] == 'nouveau_message') {
    // ...
  }
  elseif ($_GET['action'] == 'vider') {
    // ...
  }
  elseif ($_GET['action'] == 'poster') {
    // ...
  }
}

Sinon, petite remarque : c'est <br />  et non pas <br/> Il y a un espace entre le `r` et le `/`

Maintenant, pour que ce chat puisse être plus facilement intégrable dans un site, il faut penser à séparer le code PHP du code HTML et faire en sorte qu'on puisse, justement, facilement intégrer ça où on veut.

Commentaire de jantosze le 25/02/2008 16:51:19

NEIGEDHIVER je ne partage pas ton avis sur le fonctionnement du switch:
" Dans une commande switch  , une condition n'est évaluée qu'une fois, et le résultat est comparé à chaque case  . Dans une structure elseif  , les conditions sont évaluées à chaque comparaison. Si votre condition est plus compliquée qu'une simple comparaison, ou bien fait partie d'une boucle, switch  sera plus rapide. "
lire http://www.manuelphp.com/php/control-structures.switch.php par exemple.

cdt
JAN

Commentaire de neigedhiver le 25/02/2008 17:57:44

Au temps pour moi...

Commentaire de SuperChouquette le 25/02/2008 18:55:51

merci pour vos conseil !
Sinon pour l'intégration dans un site, le webmaster peut mettre une frame, le but était que le script tienne dans un fichier, sans base de données, sans fichier texte qui se créé à coté.
Je vais aussi ajouté la gestion des utilisateur, j'ai finit le script ! en tous les cas merci pour vos conseils !

Commentaire de coucou747 le 25/02/2008 20:36:36

en fait, parfois, on peut faire un if en O(log(nombre_elements)) alors qu'un switch est en O(nombre_elements)

voici le bench :

function compare1($i){
if ($i==1)return '1';if ($i==2)return '2';if ($i==3)return '3';
if ($i==4)return '4';if ($i==5)return '5';if ($i==6)return '6';
if ($i==7)return '7';if ($i==8)return '8';return '9';
}

function compare1_1($i){
if ($i<5){if ($i==1)return '1';if ($i==2)return '2';if ($i==3)return '3';return '4';}
if ($i==5)return '5';if ($i==6)return '6';if ($i==7)return '7';if ($i==8)return '8';
return '9';
}

function compare2($i){
switch ($i){
case 1:return '1';case 2:return '2';case 3:return '3';case 4:return '4';
case 5:return '5';case 6:return '6';case 7:return '7';case 8:return '8';
default:return '9';
}}
function compare3($i){$i='f'.$i;return $i();}
function f1(){return '1';}function f2(){return '2';}function f3(){return '3';}
function f4(){return '4';}function f5(){return '5';}function f6(){return '6';}
function f7(){return '7';}function f8(){return '8';}function f9(){return '9';}


c'est clairement compare1_1 la plus rapide

Commentaire de FhX le 26/02/2008 18:39:14

Il est évident que le gain ne se mesure pas sur "Si i == 1" "Si i == 2" ...

C'est absurde :o

Il est beaucoup plus aisé d'écrire :

switch ( $class->ma_methode() ) {
   case TRUC:
     //
   case MACHIN:
     //
   /// etc..
}

que :

$retour = $class->ma_methode();
  if ( $retour == TRUC ) {
        //
  } elseif ( $retour == MACHIN ) {
        //
  } // etc...

:)

Commentaire de coucou747 le 26/02/2008 18:44:29

nan mais c'est surtout pas les memes structures :

switch (...){
case val1:
instructions executes pour la valeur 1
case val2:
instructions executes pour la valeur 1 ou 2

Commentaire de jantosze le 26/02/2008 18:49:18

Salut coucou747,

Il me semble que tu oublies un détail avec Switch:
switch( C ) {
case 1:
     .....
break;
case 2:
     ....
break;
ect ..
default:
     ......
break;
}
Sinon évidemment tu auras tendance à cumuler

Cdt
JAN

Commentaire de coucou747 le 26/02/2008 18:55:43

mais justement, un switch fait comme le tien, c'est presque comparable a un if, mais un switch comme je l'ai fait plus haut,c'est different...

Commentaire de neigedhiver le 26/02/2008 20:54:09

Salut,

J'ai fait aussi un bench pour comparer un simple if elseif else avec un switch case default. On en trouve d'ailleurs plein sur le net...
Clairement, switch prend l'avantage sur if pour un petit nombre de possibilités. Pour ma part, j'ai tenté avec 26 plus une par défaut. Là, switch et if deviennent équivalents (c'est à dire que parfois l'un est plus rapide, parfois c'est l'autre.

Coucou747 (j'allais oublier le '747', mais trop peur de me faire taper sur les doigts), pour écrire pareil que ton switch avec un if, il suffit de sortir l'appel à la méthode de la boucle pour stocker le résultat dans une variable, et de tester sur cette variable.
$aTester = $maClasse -> maMethode();
if ($aTester == '...') {
  // ...
}

Autrement dit, il semble que la structure switch demande plus de ressources quand elle est initialisée, mais en demande moins pour chaque possibilité supplémentaire.
Si on avait des valeurs, on pourrait résoudre un système de 2 équations à 2 inconnues, et on saurait quand il est préférable d'utiliser l'un plutôt que l'autre...

Commentaire de SuperChouquette le 16/03/2008 12:38:58

Désolé, je met à jour le code ! si il y a d'autre bug n'hésite surtout pas !

Commentaire de franzemmanuel le 26/04/2008 21:11:32 10/10

Super !

Commentaire de soundpanther le 24/11/2008 13:05:01 8/10

très bon travail en fin presque

Commentaire de Yukilas le 19/01/2009 12:11:51

Quelqu'un pourrait m'expliquer ce que sont les lignes 47 et 49 ?

$chat='a:0:{}';
$enligne='a:0:{}';

Merci d'avance ;)

Commentaire de neigedhiver le 20/01/2009 01:08:51

@Yukilas

http://fr.php.net/serialize
http://fr.php.net/unserialize

Commentaire de Yukilas le 20/01/2009 07:43:02

@Neigedhiver : Merci bcp, je vais regarder ça aujourd'hui

Commentaire de MoulouD1993 le 02/07/2009 17:56:25 10/10

jolis script si il ya d'autres    script n'hesite pas  et encore mercis

Commentaire de cirkooo le 11/07/2009 03:42:23

mince, ça ne marche pas? ça m'affiche:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\wamp\www\script.php:1) in C:\wamp\www\script.php on line 2
j'ai essayer de rajouter ?login=toto   marche pas non plus?
de quoi ça peut venir?

Commentaire de SuperChouquette le 12/07/2009 22:44:46

Tu dois avoir du texte ou un esoace avant
<?php
session_start();

il ne faut pas qu'il y en ait.

Commentaire de rojbisami le 17/07/2009 20:31:25

Un bon script.
Vérifiez l'affichage de l'heure.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Help me....travaille en php "simple" mais payé.....!! [ par Maniac ] Salut,voila je n'y connais rien du tout en php, mais je dois "simplement" faire un forum pour un client pour qui je developpe son site...Si qq1 savait IRC et PHP [ par spEps ] Salut,J'ai mis un chat IRC avec BestOfChat.comsur mon site et je souhaiterais afficher lenombre de connectés avant qu'on entresur le chat, c'est à dir chat en php [ par jawad75 ] bonjourje voulais juste comment mettre un chat en php derier un serveur webmerci d'avance Code php simple en asp ou cfm... [ par fabiin ] Salut,je ne programme ni en asp ni en cfm, mais j'ai besoin de ce code php en asp et cfm :)&lt;?$date1 = mktime(18,33,0,10,30,2003);$date2 = mktime(18 PHP & WANADOO... [ par lard ] Bonjour !Simple question:Pour l'instant, je suis abonné à Wanadoo (personne n'est parfait...) et j'ai voulu mettre en ligne une simple page Web conten Chat à partir du login et mdp du forum [ par jmobylette ] Bonjour ! G un forum phpBB2 et je voudrais faire un chat à part mais en utilisant les mêmes pseudos et mdp ! J'ai donc fait un formulaire : http://jmo Plein de ptits Pbs sur un chat flash/php/txt ... [ par patochdu77 ] Salutations ! Je suis débutant dans le php et j'ai crée un chat en flash/php/txt, il y a plein de ptit problèmes, comme la variable pseudo ki vient s' FICHIER TEXTE [ par webmathis ] Je suis entrain de développer un chat en PHP avec stockage dans un fichier texte, mais il me manque un petit script. j'aimerais qu'au bout de 6 lignes php:c'est simple,j'arrive à rien! [ par peterbud ] Bonjour à tous,Celà fait quelques jours que j'ai décidé de me mettre au php et j'utilise easy php1.7....et là ca va plus du tout.En effet je teste des Php lire une fonction $... [ par 666BlackDragoon666 ] voila je travaille sur un chat et sur mon chat je voudra faire en sorte que lorsque qu'un personne prononce votre nick bah il y a un son ki se joue.j'


Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,217 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales