PHP Tchat : Emoticones.
medic12345
Messages postés
75
Statut
Membre
-
medic12345 Messages postés 75 Statut Membre -
medic12345 Messages postés 75 Statut Membre -
Bonjour.
Je vous remercie d'avoir pris conscience de mon message.. Tandis que j'ai 13 ans, j'ai voulu créer un site personnel de fun, mais le problème c'est que je ne m'y connais pas trop en PHP.
J'ai inséré un tchat, mais je voudrais que lorsque quelqu'un tape par exemple :) ça donne une émoticone de sourire, comme sur Facebook.
Le tchat en question est http://adaben.net/chat/
Voici le code de l'afficheur des messages dans le tchat (message.php) :
<---------- Début du code ----------------->
<?php
if (isset($_GET['msg'])){
if (file_exists('msg.html')) {
$f = fopen('msg.html',"a+");
} else {
$f = fopen('msg.html',"w+");
}
$nick = isset($_GET['nick']) ? $_GET['nick'] : "Hidden";
$msg = isset($_GET['msg']) ? urldecode(htmlspecialchars($_GET['msg'])) : ".";
$line = "<p><span class=\"name\">$nick: </span><span class=\"txt\">$msg</span></p>";
fwrite($f,$line."\r\n");
fclose($f);
echo $line;
} else if (isset($_GET['all'])) {
$flag = file('msg.html');
$content = "";
foreach ($flag as $value) {
$content .= $value;
}
echo stripcslashes($content);
}
?>
<----------- Fin du code ------------->
Ainsi que le code du tchat en question (index.php) :
<---------- Début du code ----------->
<?php
}
if (isset($_GET['u'])){
unset($_SESSION['nickname']);
}
// Process login info
if (isset($_POST['submitBtn'])){
$name = isset($_POST['name']) ? $_POST['name'] : "Unnamed";
$_SESSION['nickname'] = $name;
}
$nickname = isset($_SESSION['nickname']) ? $_SESSION['nickname'] : "Hidden";
?>
</div>
<center>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html>
<head>
<center>
<div align="center">
<link href="style/style.css" rel="stylesheet" type="text/css" />
</div>
<div align="center">
<script language="javascript" type="text/javascript">
<!--
var httpObject = null;
var link = "";
var timerID = 0;
var nickName = "<?php echo $nickname; ?>";
// Get the HTTP Object
function getHTTPObject(){
if (window.ActiveXObject) return new ActiveXObject("Microsoft.XMLHTTP");
else if (window.XMLHttpRequest) return new XMLHttpRequest();
else {
alert("Your browser does not support AJAX.");
return null;
}
}
// Change the value of the outputText field
function setOutput(){
if(httpObject.readyState == 4){
var response = httpObject.responseText;
var objDiv = document.getElementById("result");
objDiv.innerHTML += response;
objDiv.scrollTop = objDiv.scrollHeight;
var inpObj = document.getElementById("msg");
inpObj.value = "";
inpObj.focus();
}
}
// Change the value of the outputText field
function setAll(){
if(httpObject.readyState == 4){
var response = httpObject.responseText;
var objDiv = document.getElementById("result");
objDiv.innerHTML = response;
objDiv.scrollTop = objDiv.scrollHeight;
}
}
// Implement business logic
function doWork(){
httpObject = getHTTPObject();
if (httpObject != null) {
link = "message.php?nick="+nickName+"&msg="+encodeURI(document.getElementById('msg').value);
httpObject.open("GET", link , true);
httpObject.onreadystatechange = setOutput;
httpObject.send(null);
}
}
// Implement business logic
function doReload(){
httpObject = getHTTPObject();
var randomnumber=Math.floor(Math.random()*10000);
if (httpObject != null) {
link = "message.php?all=1&rnd="+randomnumber;
httpObject.open("GET", link , true);
httpObject.onreadystatechange = setAll;
httpObject.send(null);
}
}
function UpdateTimer() {
doReload();
timerID = setTimeout("UpdateTimer()", 5000);
}
function keypressed(e){
if(e.keyCode=='13'){
doWork();
}
}
//-->
</script>
</div>
</head>
<center>
<div align="center">
<body onload="UpdateTimer();">
<center>
<div align="center" id="main">
<center>
<div id="caption"><img src="https://dl.dropbox.com/u/47470353/Sauvegarde%20de%20site/Adam%20Data/cooltext726661352.png" height="50" width="200" >.</div>
</center>
<div align="center">
<?php
if (!isset($_SESSION['nickname']) ){
createForm();
} else {
$name = isset($_POST['name']) ? $_POST['name'] : "Unnamed";
$_SESSION['nickname'] = $name;
?>
<center>
<div align="center" id="result">
<center>
<?php
$data = file("msg.html");
foreach ($data as $line) {
echo $line;
}
?>
</div>
<center>
</div>
<div align="center" id="sender" onkeyup="keypressed(event);">
Votre message: <input type="text" name="msg" size="30" id="msg" />
<button onclick="doWork();">Envoyer</button>
</div>
<div align="center">
<?php
}
?>
<----------- Fin du code -------------->
Voilà Merci, j'espère que je recevrais de l'aide de votre part :)
Bonne journée/soirée.
Je vous remercie d'avoir pris conscience de mon message.. Tandis que j'ai 13 ans, j'ai voulu créer un site personnel de fun, mais le problème c'est que je ne m'y connais pas trop en PHP.
J'ai inséré un tchat, mais je voudrais que lorsque quelqu'un tape par exemple :) ça donne une émoticone de sourire, comme sur Facebook.
Le tchat en question est http://adaben.net/chat/
Voici le code de l'afficheur des messages dans le tchat (message.php) :
<---------- Début du code ----------------->
<?php
if (isset($_GET['msg'])){
if (file_exists('msg.html')) {
$f = fopen('msg.html',"a+");
} else {
$f = fopen('msg.html',"w+");
}
$nick = isset($_GET['nick']) ? $_GET['nick'] : "Hidden";
$msg = isset($_GET['msg']) ? urldecode(htmlspecialchars($_GET['msg'])) : ".";
$line = "<p><span class=\"name\">$nick: </span><span class=\"txt\">$msg</span></p>";
fwrite($f,$line."\r\n");
fclose($f);
echo $line;
} else if (isset($_GET['all'])) {
$flag = file('msg.html');
$content = "";
foreach ($flag as $value) {
$content .= $value;
}
echo stripcslashes($content);
}
?>
<----------- Fin du code ------------->
Ainsi que le code du tchat en question (index.php) :
<---------- Début du code ----------->
<?php
}
if (isset($_GET['u'])){
unset($_SESSION['nickname']);
}
// Process login info
if (isset($_POST['submitBtn'])){
$name = isset($_POST['name']) ? $_POST['name'] : "Unnamed";
$_SESSION['nickname'] = $name;
}
$nickname = isset($_SESSION['nickname']) ? $_SESSION['nickname'] : "Hidden";
?>
</div>
<center>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html>
<head>
<center>
<div align="center">
<link href="style/style.css" rel="stylesheet" type="text/css" />
</div>
<div align="center">
<script language="javascript" type="text/javascript">
<!--
var httpObject = null;
var link = "";
var timerID = 0;
var nickName = "<?php echo $nickname; ?>";
// Get the HTTP Object
function getHTTPObject(){
if (window.ActiveXObject) return new ActiveXObject("Microsoft.XMLHTTP");
else if (window.XMLHttpRequest) return new XMLHttpRequest();
else {
alert("Your browser does not support AJAX.");
return null;
}
}
// Change the value of the outputText field
function setOutput(){
if(httpObject.readyState == 4){
var response = httpObject.responseText;
var objDiv = document.getElementById("result");
objDiv.innerHTML += response;
objDiv.scrollTop = objDiv.scrollHeight;
var inpObj = document.getElementById("msg");
inpObj.value = "";
inpObj.focus();
}
}
// Change the value of the outputText field
function setAll(){
if(httpObject.readyState == 4){
var response = httpObject.responseText;
var objDiv = document.getElementById("result");
objDiv.innerHTML = response;
objDiv.scrollTop = objDiv.scrollHeight;
}
}
// Implement business logic
function doWork(){
httpObject = getHTTPObject();
if (httpObject != null) {
link = "message.php?nick="+nickName+"&msg="+encodeURI(document.getElementById('msg').value);
httpObject.open("GET", link , true);
httpObject.onreadystatechange = setOutput;
httpObject.send(null);
}
}
// Implement business logic
function doReload(){
httpObject = getHTTPObject();
var randomnumber=Math.floor(Math.random()*10000);
if (httpObject != null) {
link = "message.php?all=1&rnd="+randomnumber;
httpObject.open("GET", link , true);
httpObject.onreadystatechange = setAll;
httpObject.send(null);
}
}
function UpdateTimer() {
doReload();
timerID = setTimeout("UpdateTimer()", 5000);
}
function keypressed(e){
if(e.keyCode=='13'){
doWork();
}
}
//-->
</script>
</div>
</head>
<center>
<div align="center">
<body onload="UpdateTimer();">
<center>
<div align="center" id="main">
<center>
<div id="caption"><img src="https://dl.dropbox.com/u/47470353/Sauvegarde%20de%20site/Adam%20Data/cooltext726661352.png" height="50" width="200" >.</div>
</center>
<div align="center">
<?php
if (!isset($_SESSION['nickname']) ){
createForm();
} else {
$name = isset($_POST['name']) ? $_POST['name'] : "Unnamed";
$_SESSION['nickname'] = $name;
?>
<center>
<div align="center" id="result">
<center>
<?php
$data = file("msg.html");
foreach ($data as $line) {
echo $line;
}
?>
</div>
<center>
</div>
<div align="center" id="sender" onkeyup="keypressed(event);">
Votre message: <input type="text" name="msg" size="30" id="msg" />
<button onclick="doWork();">Envoyer</button>
</div>
<div align="center">
<?php
}
?>
<----------- Fin du code -------------->
Voilà Merci, j'espère que je recevrais de l'aide de votre part :)
Bonne journée/soirée.
A voir également:
- PHP Tchat : Emoticones.
- Tchat gratuit - Accueil - Réseaux sociaux
- Tchat comme coco - Accueil - Réseaux sociaux
- Easy php - Télécharger - Divers Web & Internet
- Voyance par tchat - Forum Vos droits sur internet
- Tchat locaux - Forum MSN / WLM
2 réponses
Dans ton message.php juste avant echo stripcslashes($content); ajoute ceci:
Fais attention avec les smileys, tu dois échapper certain caractères:
[\^$.|?*+(){}, avant chaque caractère de cette liste tu dois le préceder par \ donc :) devient :\) et :\ devient :\\
// Liste des smileys
$smileys = array(
'/:\)/' => '<img src="http://tonsite.com/images/smile.gif" alt=":)">',
'/:D/' => '<img src="http://tonsite.com/images/laughing.gif" alt=":D">',
'/:\(/' => '<img src="http://tonsite.com/images/sad.gif" alt=":(">',
// ...etc
);
$content = preg_replace(array_keys($smileys), array_values($smileys), $content);
Fais attention avec les smileys, tu dois échapper certain caractères:
[\^$.|?*+(){}, avant chaque caractère de cette liste tu dois le préceder par \ donc :) devient :\) et :\ devient :\\