Chat php/ajax simple et compact

Contenu du snippet

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 / Exemple :


<?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>

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.