Problème avec str_replace()

Discutez ici à propos de la conception de pages ou sites web, de la configuration de serveurs, des langages Html, Php, Flash ...
Scanner Windows pour détecter les erreurs de registre

Ce que nous vous conseillons :

1. Lisez les réponses ci-dessous où vous trouverez des conseils et de l'aide de la part des autres utilisateurs.

2. Avant de faire des modifications sur votre système ou d'installer des logiciels, nous vous recommandons
    fortement de cliquer ici pour scanner Windows afin de détecter les erreurs de registre.



Messagepar eexit » 29 Juil 2005, 14:10

Problème avec str_replace()

Bonjour,

Voila je suis encore sur la création de mon prochain site et comme mon actuel, je fais des dossiers. Un peu comme des tuto ;). Donc, je gère tout grâce au PHP et je voudrais faire un module de smilleys :)
Pour cela, j'utilise la fonction str_replace().
Seulement j'ai un soucis, ça ne fonctionne pas :(
:(

Voici la page qui est inclue sur toutes les pages :
Code: Tout sélectionner
<?
$emopath='dir/';

$e1=' <img src="'.$emopath.'happy.gif" alt=":)" title=":)" class="emo" /> ';
$e2=' <img src="'.$emopath.'biggrin.gif" alt=":D" title=":D" class="emo" /> ';
$e3=' <img src="'.$emopath.'wink.gif" alt=";)" title=";)" class="emo" /> ';
$e4=' <img src="'.$emopath.'tongue.gif" alt=":P" title=":P" class="emo" /> ';
$e5=' <img src="'.$emopath.'o.gif" alt=":O" title=":O" class="emo" /> ';
$e6=' <img src="'.$emopath.'confused.gif" alt=":/" title=":/" class="emo" /> ';
$e7=' <img src="'.$emopath.'sad.gif" alt=":(" title=":(" class="emo" /> ';
//je ne vous fais pas les 63 lignes =)
function smileys($txt)
{
$code=array(
      ":-)", ":)",
      ":-D", ":D", ":-d", ":d",
      ";-)", ";-)",
      ":-P", ":P", ":-p", ":p",
      ":-O", ":O", ":-o", ":o",
      ":/", ":-/",
      ":-(", ":("
           );

$emo=array(
          $e1, $e1,
        $e2, $e2, $e2, $e2,
        $e3, $e3,
        $e4, $e4, $e4, $e4,
        $e5, $e5, $e5, $e5,
        $e6, $e6,
        $e7, $e7
           );
return str_replace($code,$emo,$txt);
}
?>

Et voici la page qui affiche le dossier :
Code: Tout sélectionner
<?
if(isset($_GET['id']))
{
mysql_connect('localhost', $user, $pwd);
mysql_select_db('table');

$retour = mysql_query('SELECT * FROM table WHERE id=' .$_GET['id']);
$donnees = mysql_fetch_array($retour);
?>
<h1><? echo $donnees['titre'];?></h1>
<?
$txt = nl2br(stripslashes($donnees['files_txt']));
echo smileys($txt);
echo '<p class="news_inf">Dernière modification : ' .date('d/m/Y  à HHi', $donnees['timestamp']). '</p>';
mysql_close();
}
else
{
echo '<p class="center">Erreur de codage, veuillez contacter l'administrateur.</p>';
}
?>

Il n'y a aucune erreur affichée mais les $codes ne sont pas remplacés par les $emo !
Savez-vous pourquoi ?

Merci beaucoup :)
eexit
 
Messages: 899
Inscrit le: 17 Aoû 2004, 16:04
Localisation: Lille, France

Messagepar eexit » 05 Aoû 2005, 20:40

Personne n'a une idée d'où pourrai provenir le bug ??
Image Image :/
eexit
 
Messages: 899
Inscrit le: 17 Aoû 2004, 16:04
Localisation: Lille, France

Messagepar zapeto » 10 Oct 2005, 15:35

salut,

je ne suis pas sur mais est ce que ce serait pas tes variables $e... qui sont déclarés en dehors de la fonction smileys donc inconnus de celle ci?
zapeto
 

Messagepar JoShuA » 10 Oct 2005, 15:44

exact, il faudrait au minimum faire un var_export() selon les besoins ...
Avatar de l’utilisateur
JoShuA
Modérateur
 
Messages: 7246
Inscrit le: 02 Jan 2002, 15:37
Localisation: IdF

Messagepar eexit » 10 Oct 2005, 17:21

Ok, merci bien.
Je vais faire des tests :)
eexit
 
Messages: 899
Inscrit le: 17 Aoû 2004, 16:04
Localisation: Lille, France


Retour vers Le développement de sites Web

Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité

  •  Liens commerciaux