Tchat ajax/php fonction kick
Résolu
florire
Messages postés
151
Date d'inscription
Statut
Membre
Dernière intervention
-
florire Messages postés 151 Date d'inscription Statut Membre Dernière intervention -
florire Messages postés 151 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai fais un tchat en ajax/php où il faut passer par une identification pour pouvoir l'utilisé.
Pour savoir si un utilisateur est administrateur, modérateur ou membre j'utilise:
J'aimerais ajouté une fonction "kick". Je pense déclencher cette action en envoyant un message "/kick pseudo" comme sur la plupart des tchat.(si vous avez d'autre idée je suis preneur)
Cette fonction aurait pour but de déconnecté le membre.(soit en le redirigeant vers la page "logout.php" soit un autre moyen)
Je vous remercie de votre aide.
tchat.js:
tchatAjax.php:
J'ai fais un tchat en ajax/php où il faut passer par une identification pour pouvoir l'utilisé.
Pour savoir si un utilisateur est administrateur, modérateur ou membre j'utilise:
$_SESSION['Auth']['perms'] = admin, modo ou membre
J'aimerais ajouté une fonction "kick". Je pense déclencher cette action en envoyant un message "/kick pseudo" comme sur la plupart des tchat.(si vous avez d'autre idée je suis preneur)
Cette fonction aurait pour but de déconnecté le membre.(soit en le redirigeant vers la page "logout.php" soit un autre moyen)
Je vous remercie de votre aide.
tchat.js:
var url="tchatAjax.php"; var lastid=0; var timer=setInterval(getMessages,2000); $(function(){ $("#tchatForm form").submit(function(){ clearInterval(timer) showLoader("#tchatForm"); var message = $("#tchatForm form input.message").val(); $.post(url,{action:"addMessage",message:message},function(data){ if(data.erreur=="ok"){ getMessages(); $("#tchatForm form input.message").val(""); } else{ alert(data.erreur); } timer=setInterval(getMessages,5000); hideLoader(); },"json"); return false; }) }); function getMessages(){ $.post(url,{action:"getMessages",lastid:lastid},function(data){ if(data.erreur=="ok"){ $("#tchat").append(data.result); lastid=data.lastid; } else{ alert(data.erreur); } $('#tchat').manageScrollbar({timer: 2000, acceptDiff: 93});},"json"); return false; } function showLoader(div){ $(div).append('<div class="loader"></div>'); $(".loader").fadeTo(500,0.6); } function hideLoader(){ $(".loader").fadeOut(500,function(){ $(".loader").remove(); }); } (function( $ ){ var settings = new Object(); var methods = { init : function( options ) { settings = $.extend( { timer: 2000, acceptDiff: 80 }, options); elements = new Array(); this.each(function(){ var element = this; elements.push(element); }); var interval = methods.initInterval.call( this, elements ); }, initInterval : function ( elements ) { return setInterval(function (){ for(var i in elements) { if ( methods.needToScrollDown.apply( elements[i] ) ) { methods.scrollDown.apply( elements[i] ); } } }, settings.timer); }, scrollDown : function () { $(this).scrollTop($(this)[0].scrollHeight); }, needToScrollDown : function () { return ($(this).height() + $(this).scrollTop() >= $(this)[0].scrollHeight * settings.acceptDiff / 100); } }; $.fn.manageScrollbar = function( method ) { if ( methods[method] ) { return methods[ method ].apply( this, Array.prototype.slice.call( arguments, 1 )); } else if ( typeof method === 'object' || ! method ) { return methods.init.apply( this, arguments ); } else { $.error( 'Method ' + method + ' does not exist on jQuery.manageScrollbar' ); } }; })( jQuery );
tchatAjax.php:
<?php session_start(); require("../connect.php"); $d =array(); if(!isset($_SESSION['Auth']['pseudo']) || empty($_SESSION['Auth']['pseudo']) || !isset($_POST["action"])){ $d["erreur"] = "Vous devez être connecté pour utiliser le tchat"; } else{ extract($_POST); $pseudo = mysql_escape_string($_SESSION['Auth']['pseudo']); $message = mysql_escape_string($message); /** * Action : addMessage * Permet l'ajout d'un message **/ if($_POST["action"]=="addMessage" && !empty($message)){ $sql = "INSERT INTO messages(pseudo,message,date,ip) VALUES('$pseudo','$message',".time().",'".$_SESSION['Auth']['ip']."')"; mysql_query($sql) or die(mysql_error()); $d["erreur"] ="ok"; } /** * Action : getMessages * Permet l'affichage des dernier messages **/ if($_POST["action"]=="getMessages"){ $lastid =floor($lastid); $sql ="SELECT * FROM messages WHERE id>$lastid ORDER BY date ASC"; $req=mysql_query($sql) or die(mysql_error()); $d["result"]=""; $d["lastid"]=$lastid; while($data=mysql_fetch_assoc($req)){ $message=htmlspecialchars($data["message"]); $message=preg_replace('#\[b\](.*)\[/b\]#Usi', '<b>$1</b>',$message); $message=preg_replace('#\[i\](.*)\[/i\]#Usi', '<i>$1</i>',$message); $message=preg_replace('#\[u\](.*)\[/u\]#Usi', '<u>$1</u>',$message); $message=preg_replace('#\[color=(.*)\](.*)\[/color\]#Usi', '<font color="$1">$2</font>',$message); $message=preg_replace('#\[s\](.*)\[/s\]#Usi', '<s>$1</s>',$message); $message=preg_replace('#\[img\](.*)\[/img\]#Usi', '<img src="$1"/>',$message); $message=preg_replace('#\[url\](.*)\[/url\]#Usi', '<a href="$1">$1</a>',$message); $message=preg_replace('#\[url=(.*)\](.*)\[/url\]#Usi', '<a href="$1">$2</a>',$message); $message=preg_replace('#\[hr\](.*)#Usi', '<p>$1</p>',$message); $smileysPath="smilies/"; if(file_exists($smileysPath."smileys.php")){ //les smileys include $smileysPath."smileys.php"; foreach($phpbb_smilies as $smile){ $message=str_replace($smile['code'],'<img src="'.$smileysPath.$smile['smiley_url'].'" alt="'.$smile['smiley_url'].'"/>',$message); } } $sql1 = "SELECT * FROM users WHERE pseudo='".$data["pseudo"]."'"; $req1 = mysql_query($sql1) or die(mysql_error()); $d1 = array(); while($data1 = mysql_fetch_assoc($req1)){ $d1[] = $data1; } for($i1=count($d1)-1;$i1>=0;$i1--){ switch ($d1[$i1]["perms"]) { case 'admin': $couleur = "#FFAF0F"; break; case 'membre': $couleur = "#0EE85A"; break; case 'modo': $couleur = "#4192D1"; break; default: $couleur = "black"; // Les autres cas break; // On fait rien } } $d["result"].='<p><span class="chat-time" title="'.date("d/m/y H:i:s",$d[$i]["date"]).'">['.date("H:i:s",$data["date"]).'] </span><font color="'.$couleur.'"><strong>'.$data["pseudo"].'</strong></font>: '.$message.'</p>'; $d["lastid"]=$data["id"]; } $d["erreur"]="ok"; } } echo json_encode($d); ?>
A voir également:
- Tchat ajax/php fonction kick
- Coco tchat - Accueil - Réseaux sociaux
- Fonction si et - Guide
- Tchat gratuit - Accueil - Réseaux sociaux
- Easy php - Télécharger - Divers Web & Internet
- Tchat locaux - Forum Vos droits sur internet