par
Larker » 31 mai 2015, 20:06
Bonjour,
Je suis en train de mettre en place des smileys sur mon chat mais je rencontre un problème pour le remplacement.
Le smiley ne s'affiche pas mais il y a le code qui se met à la place : <img src='heureux.png'>
Je ne vois pas pourquoi la transformation ne se fait pas, voici mes codes :
Le fichier fonction.inc.php
<?php
function load_emoticons($content) {
//Sourire
$content = str_replace(":)"," <img src='heureux.png'>",$content);
//Décu
$content = str_replace(":("," <img src='/fichier/emoticons/sad.png'>",$content);
//Happy
$content = str_replace(":D"," <img src='/fichier/emoticons/biggrin.png'>",$content);
//Tire la langue
$content = str_replace(":P"," <img src='/fichier/emoticons/tongue.png'>",$content);
//Sourire
$content = str_replace(":)"," <img src='/fichier/emoticons/smile.png'>",$content);
//Méfiant
$content = str_replace("--'"," <img src='/fichier/emoticons/dry.png'>",$content);
//Ninja
$content = str_replace(":ninja:"," <img src='/fichier/emoticons/ph34r.png'>",$content);
//Like a boss
$content = str_replace(":cool:"," <img src='/fichier/emoticons/cool.png'>",$content);
//Clin d'oeil
$content = str_replace(array(";-)", ";)")," <img src='/fichier/emoticons/wink.png'>",$content);
//Souril
$content = str_replace("^^"," <img src='/fichier/emoticons/happy.png'>",$content);
return $content;
}
?>
Le fichier minichat.php
<?php
session_start();
include('module/minichat/fonctions.inc.php');
if (isset($_POST['message']))
{
if (!empty($_POST['message']))
{
$message = mysql_real_escape_string(utf8_decode($_POST['message']));
$pseudo = $_SESSION['pseudo'];
$rang = $_SESSION['rang'];
mysql_query("INSERT INTO minichat(pseudo,message,timestamp) VALUES('$pseudo', '$message', '".time()."')");
}
}
$reponse = mysql_query("SELECT M.id, M.pseudo, M.message, M.timestamp, A.id, A.pseudo, A.rang FROM minichat M, admin_membre A WHERE M.pseudo=A.pseudo ORDER BY M.id DESC LIMIT 0,10");
while($val = mysql_fetch_array($reponse))
{
?>
<?php if ($val['rang'] == '1')
{
echo '<p><font color="#FF0000"><strong">'.htmlentities(stripslashes($val['pseudo'])).'</strong></font> à '.date('H\:i\:s',$val['timestamp']).' : '. htmlentities(stripslashes(load_emoticons($val['message']))) .'</p>';
}
}
mysql_close();
?>
Merci d'avance à ceux qui pourront m'aider à repérer l'erreur.

Bonjour,
Je suis en train de mettre en place des smileys sur mon chat mais je rencontre un problème pour le remplacement.
Le smiley ne s'affiche pas mais il y a le code qui se met à la place : <img src='heureux.png'>
Je ne vois pas pourquoi la transformation ne se fait pas, voici mes codes :
Le fichier fonction.inc.php
[php]<?php
function load_emoticons($content) {
//Sourire
$content = str_replace(":)"," <img src='heureux.png'>",$content);
//Décu
$content = str_replace(":("," <img src='/fichier/emoticons/sad.png'>",$content);
//Happy
$content = str_replace(":D"," <img src='/fichier/emoticons/biggrin.png'>",$content);
//Tire la langue
$content = str_replace(":P"," <img src='/fichier/emoticons/tongue.png'>",$content);
//Sourire
$content = str_replace(":)"," <img src='/fichier/emoticons/smile.png'>",$content);
//Méfiant
$content = str_replace("--'"," <img src='/fichier/emoticons/dry.png'>",$content);
//Ninja
$content = str_replace(":ninja:"," <img src='/fichier/emoticons/ph34r.png'>",$content);
//Like a boss
$content = str_replace(":cool:"," <img src='/fichier/emoticons/cool.png'>",$content);
//Clin d'oeil
$content = str_replace(array(";-)", ";)")," <img src='/fichier/emoticons/wink.png'>",$content);
//Souril
$content = str_replace("^^"," <img src='/fichier/emoticons/happy.png'>",$content);
return $content;
}
?>[/php]
Le fichier minichat.php
[php]<?php
session_start();
include('module/minichat/fonctions.inc.php');
if (isset($_POST['message']))
{
if (!empty($_POST['message']))
{
$message = mysql_real_escape_string(utf8_decode($_POST['message']));
$pseudo = $_SESSION['pseudo'];
$rang = $_SESSION['rang'];
mysql_query("INSERT INTO minichat(pseudo,message,timestamp) VALUES('$pseudo', '$message', '".time()."')");
}
}
$reponse = mysql_query("SELECT M.id, M.pseudo, M.message, M.timestamp, A.id, A.pseudo, A.rang FROM minichat M, admin_membre A WHERE M.pseudo=A.pseudo ORDER BY M.id DESC LIMIT 0,10");
while($val = mysql_fetch_array($reponse))
{
?>
<?php if ($val['rang'] == '1')
{
echo '<p><font color="#FF0000"><strong">'.htmlentities(stripslashes($val['pseudo'])).'</strong></font> à '.date('H\:i\:s',$val['timestamp']).' : '. htmlentities(stripslashes(load_emoticons($val['message']))) .'</p>';
}
}
mysql_close();
?>[/php]
Merci d'avance à ceux qui pourront m'aider à repérer l'erreur. ;)