Un petit script de tchat utilisant php5 et javascript et Ajax.
AMÉLIORATION PRÉVUES :
=>Installation facile
=>Plusieurs design css
=>Message en privé
=>Création de salon
=>Liste des connectés
=>Modérateurs
=>Shootbox
Source / Exemple :
<?php
/**
define('s', 'localhost'); /* l'adresse du serveur */
define('u', 'USER'); /* nom de l'administrateur */
define('p', 'PASSWORD'); /* mot de passe de l'administrateur */
define('b', 'BDD'); /* nom de la base de donnees */
/* *
function redirection($url, $time=0) {
if (!headers_sent()) {
header("refresh: $time;url=$url");
exit;
}
else {
echo '<meta http-equiv="refresh" content="',$time,';url=',$url,'">';
}
}
/**
class Connexion {
/* Connexion a mysql */
public static function connect() {
$mysqli = new mysqli(s, u, p);
if (mysqli_connect_errno()) {
printf("La connexion mysql est impossible : %s\n", mysqli_connect_error());
exit();
}
if(!$mysqli->select_db(b)) {
printf("La connection à la base : ".$base." impossible : %s\n", mysqli_connect_error());
exit();
}
return $mysqli;
}
/* Connexion tchat */
public static function connect_tchat($pseudo) {
$_SESSION['pseudo'] = $pseudo;
redirection('chat.php');
}
}
/**
class Nettoyage {
// Nettoyer variable texte
public static function text($var) {
$var = filter_var($var, FILTER_SANITIZE_STRING);
return $var;
}
}
/**
class Message {
/* liste des messages tchat */
public static function liste_tchat() {
$Q = Connexion::connect()->query("SELECT * FROM message ORDER BY date DESC LIMIT 15");
$D = array();
while($R=$Q->fetch_assoc()) {
$D[]=$R;
}
for($I=count($D)-1; $I>=0;$I--) {
@$RES .= '<strong>'.$D[$I]['pseudo'].'</strong> : '.htmlentities($D[$I]['message']).'<br />';
}
if(!empty($RES)) {
return $RES;
}
else {
$RES = "Il n'y à aucun message.";
return $RES;
}
}
/* Ajout d'un message */
public static function ajout_message($pseudo, $message) {
if(Connexion::connect()->query("INSERT INTO message VALUE(NULL, '".Nettoyage::text($pseudo)."', '".Nettoyage::text($message)."', '".time()."')")) {
return true;
}
else {
return false;
}
}
}
?>
Conclusion :
Première fois que j'utilise l'ajax, il faut bien apprendre !
N'hésitez pas à me dire ce que vous en pensez, et à me faire part des amélioration possible.
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.