-
Message publié le samedi 05 avril 2008 à 16 h 57 par yoraf.
-
Bonjour,
voila en utilisant ce code sur une page en php :
<?php
function smileys($texte)
{
$in=array(
"lol" , // en colère
":-)", //sourire
";)", // clin doeuil
);
$out=array(
'<img src="Images/01.gif" />',
'<img src="Images/02.gif" />',
'<img src="Images/03.gif" />',
);
return str_replace($in,$out,$texte);
}
$message_humeur="salut ;)";
$c=nl2br(smileys($message_humeur));
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>page</title>
</head>
<body>
<?php echo"<font style=\"font-size: 10px;color:#999999\">".stripslashes($c)."</font>"; ?>
</body>
</html>
je vois bien apparaitre mon smiley, tout est ok, mais j'aimerais savoir pourquoi lorsque je veux mettre ce code identique dans ma page de travail ca ne marche plus , a savoir que : "salut ;)" dans $message_humeur est un champs de ma base de donné donc sur ma page je met :
$message_humeur="$monchamp";
Pour info : $monchamp contient le texte avec les codes smileys.
Voila j'ai peut etre mon idée pourquoi ca ne marche pas mais je suis pas sur, c'est peut etre que je fais appel plusieurs fois dans ma page à $monchamp, mais je sais pas si c'est vraiment ca.
Voila j'espere quelqu'un pourra m'aider ca serait sympa !
-
Message publié le samedi 05 avril 2008 à 17 h 38 par papa6. Non à la guerre d'Afghanistan
-
Salut,
Je ne suis pas sûr d'avoir bien compris tes explications concernant ton problème. Cependant, je vais essayer :
quand tu édites le code Html de la page créée et qui ne marche pas, qu'est-ce qui s'affiche ?
On ne va pas faire le deuil du clin d'oeil, on va trouver la solution ;-)
Autre essai : placer le nl2br et le stripslashes avant l'appel à ta fonction :
[...]
return str_replace($in,$out,stripslashes($texte));
[...]
$message_humeur="salut ;)";
$c=smileys(nl2br$message_humeur));
echo"<font style=\"font-size: 10px;color:#999999\">$c</font>";
-
Message publié le lundi 07 avril 2008 à 12 h 37 par yoraf.
-
Merci de ta réponse, malheureusement j'ai esasyer avec ce que tu ma proposé mais parcontre ca marche plus sur ma page de test !
Je te rappel juste que mon code ci-dessus marche tres bien sur ma page de test mais lorsque je souhaite l'integrer sur ma page de travail (php) ou on FAIT APPEL PLUSIEURS FOIS A '$monchamp', ca ne marche plus, je me doute donc que cela vient surement du probleme que '$monchamp' soit ecrit plusieurs fois, maintenant peut etre que je me trompe...
Si vous pouvez m'aider a trouver une solution ca serait cool !
En vous remerciant !
-
Message publié le lundi 07 avril 2008 à 18 h 27 par papa6. Non à la guerre d'Afghanistan
-
Pardon, une parenthèse avait sauté dans mon code (elle était partie compléter un sourire :-))
$c=smileys(nl2br($message_humeur));
Quand tu dis que ça ne marche pas, qu'est-ce que ça t'affiche ? Y compris le code Html ("visualiser le code source")
merci pour les précisions
-
Message publié le lundi 07 avril 2008 à 20 h 26 par yoraf.
-
ok donc ca marche toujours pas :(
Je t'explique :
Lorsque je met ton code corrigé sur une page de test vide a savoir :
<?php
function smileys($texte)
{
$in=array(
"lol" , // en colère
":-)", //sourire
";)", // clin doeuil
);
$out=array(
'<img src="Images/01.gif" />',
'<img src="Images/02.gif" />',
'<img src="Images/03.gif" />',
);
return str_replace($in,$out,stripslashes($texte));
}
$message_humeur="salut ;)";
$c=smileys(nl2br($message_humeur));
echo "<font style=\"font-size: 10px;color:#999999\">$c</font>"; ?>
le message apparait bein avec le smiley, jusque la ca va !
Parcontre lorsque je met le meme code sur ma page de travail ou je fais appel a un champs de ma base de donnée, a savoir :
<?php
function smileys($texte)
{
$in=array(
"lol" , // en colère
":-)", //sourire
";)", // clin doeuil
);
$out=array(
'<img src="Images/01.gif" />',
'<img src="Images/02.gif" />',
'<img src="Images/03.gif" />',
);
return str_replace($in,$out,stripslashes($texte));
}
$message_humeur="$monchamp";
$c=smileys(nl2br($message_humeur));
echo "<font style=\"font-size: 10px;color:#999999\">$c</font>"; ?>
On voit juste apparaitre le dedut de ma page et ca bloque ; pourtant j'ai fais en sorte que la valeur $monchamp soit 'salut ;)' et ca marche pas.
-
Message publié le lundi 07 avril 2008 à 20 h 27 par yoraf.
-
peut etre maintenant le code ci-dessus est pas bon... mais pourtant il marche bien sur une page vierge !
-
Message publié le mardi 08 avril 2008 à 12 h 53 par yoraf.
-
pas de solutiion a mon probleme ?
-
Message publié le mardi 08 avril 2008 à 14 h 51 par AdrienVH. L'informatique à portée de tous ! Une douce utopie ? Non... Un principe... /// http://www.adam-photographie.com
-
Salut !
Peut tu me/nous dire ce qu'un echo des deux variables renvoie stp avec ce code de debug :
En utilisant les valeurs de la BDD bien sur !
<?php
function smileys($texte)
{
$in=array(
"lol" , // en colère
":-)", //sourire
";)", // clin doeuil
);
$out=array(
'<img src="Images/01.gif" />',
'<img src="Images/02.gif" />',
'<img src="Images/03.gif" />',
);
return str_replace($in,$out,stripslashes($texte));
}
$message_humeur = $monchamp;
$c = smileys(nl2br($message_humeur));
echo $monchamp.'<br />';
echo $message_humeur.'<br />';
echo $c;
?>
On verra ce que retourne vraiment les différents variables à chaque étape de leur transformation :)
Adrien
-
Message publié le mardi 08 avril 2008 à 21 h 41 par yoraf.
-
avec ton code ca me fait la meme choses la page bloque :(
je suis deg :(
-
Message publié le mardi 08 avril 2008 à 21 h 46 par yoraf.
-
c bizarre pourtant le probleme ne ce fait que lorsque je met la valeur de ma base de donnée : $monchamp;
La seul que je vois qui ne fait pas marcher le script c'est que $monchamp; est affihcer plusieurs fois sur ma page php car $monchamp; sort dans une liste .
-
Message publié le mardi 08 avril 2008 à 22 h 29 par AdrienVH. L'informatique à portée de tous ! Une douce utopie ? Non... Un principe... /// http://www.adam-photographie.com
-
On peut voir un peu plus ton code PHP avec appel de la BDD ?
Ou un lien vers la page test qui marche et un lien vers la page qui appelle la BDD qui marche pas ?
L'erreur est p'tet ailleurs que dans cette histoire de smileys...
Adrien
-
Message publié le mardi 08 avril 2008 à 23 h 45 par yoraf.
-
j'aurais bien voulu mais ,impossible de te la montrer , cependant j'ai fais un test brut avec le code de mon champs direct et on le voit bien apparaitre :
exemple : salut ;)
donc forcement ca vient du code qui li le smiley...
-
Message publié le mardi 08 avril 2008 à 23 h 59 par AdrienVH. L'informatique à portée de tous ! Une douce utopie ? Non... Un principe... /// http://www.adam-photographie.com
-
Ok donc ca marche sans nl2br() et sans smileys() !
Mainteant essayes avec juste smileys() et en laissant tomber pour le moment nl2br()
function smileys($texte)
{
$in = array(
"lol",
":-)",
";)"
);
$out = array(
'<img src="Images/01.gif" />',
'<img src="Images/02.gif" />',
'<img src="Images/03.gif" />'
);
return str_replace($in,$out,stripslashes($texte));
}
$message_humeur = $monchamp;
$c = smileys($message_humeur);
echo $c;
P.S. J'ai enlever des virgules en trop dans les arrays in et out...
Adrien
-
Message publié le mercredi 09 avril 2008 à 00 h 33 par yoraf.
-
Je suis vraiment encore désolé mais ca bloque toujours la page, moi meme ca m'enerve de pas réussir ...
j'ai bien verifier que si je met par exemple juste ca dans mon code sans les smileys :
$message_humeur = $monchamp;
echo $message_humeur;
ca marche tres bien je vois bien apparaitre :
salut ;)
je n'y comprend rien a ce probleme :(
-
Message publié le mercredi 09 avril 2008 à 09 h 15 par AdrienVH. L'informatique à portée de tous ! Une douce utopie ? Non... Un principe... /// http://www.adam-photographie.com
-
Ok ok sinon quand tu dis ca bloque la page : ca te fait quoi ??
Page toute blanche, contenu a moitié affiché, message d'erreur PHP ?
Et sinon essaye en zappant la fonction...
$in = array('lol',':-)',';)');
$out = array('<img src="Images/01.gif" />','<img src="Images/02.gif" />','<img src="Images/03.gif" />');
$message_humeur = $monchamp;
$message = str_replace($in,$out,$message_humeur);
echo $message;
Adrien
-
Message publié le mercredi 09 avril 2008 à 10 h 34 par telnes. toujours revenir au debut - http://telnesmaster.free.fr/allhtml/index2.html - http://telnesmaster.free.fr/litetemplate - http://www.hotcontest.org
-
hello
ajoute un
error_reporting(E_ALL);
en haut de ta page ! ca t'affiche une erreur ou pas ? tu dit page blanche ! mais dans le source de la page il y a quelque chose ?
++
-
Message publié le jeudi 10 avril 2008 à 00 h 05 par yoraf.
-
Bon tres bonne nouvelle et chapeau tu a reussit !!!
j'ai repris ton code :
<?php
$in = array('lol',':-)',';)');
$out = array('<img src="Images/01.gif" />','<img src="Images/02.gif" />','<img src="Images/03.gif" />');
$message_humeur = $monchamp;
$message = str_replace($in,$out,$message_humeur);
echo $message;
?>
Et la ca marche niquel !
Quesque tu a fait exactement ?
Quel est la difference entre avant et ce code qui marche ?
Pourrez tu m'integrer sur ce code qui marche le "nl2br" ?
Et est ce que je peux utiliser ce code la tels quel ? ou pas ?
Je te remercie encore !
-
Message publié le jeudi 10 avril 2008 à 00 h 56 par AdrienVH. L'informatique à portée de tous ! Une douce utopie ? Non... Un principe... /// http://www.adam-photographie.com
-
Bha j'ai juste viré le stripslashes dans le str_replace je crois... et j'ai viré la mise en fonction smileys() de tout ça...
Je t'avoue que j'ai simplifié le code sans vraiment comprendre ce que j'ai résolu...
Quand un script plante, faut toujours revenir à des choses plus simples, puis les compliquer un peu et voir quand cela bug...
Là je vais partir de ce qui marche et rajouter des améliorations, à savoir le stripslashes et le nl2br : on va voir si ça plante !
<?php
$in = array('lol',':-)',';)');
$out = array('<img src="Images/01.gif" />','<img src="Images/02.gif" />','<img src="Images/03.gif" />');
$message = $monchamp;
$message = stripslashes($message);
$message = str_replace($in,$out,$message);
$message = nl2br($message);
echo $message;
?>
Sinon essaye AUSSI !) l'ancien script, mais avec la soluce de telnes, on saura p'tet d'ou vient l'erreur :)
Adrien
-
Message publié le jeudi 10 avril 2008 à 22 h 05 par yoraf.
-
bah ecoute en mettant ton dernier code :
<?php
$in = array('lol',':-)',';)');
$out = array('<img src="Images/01.gif" />','<img src="Images/02.gif" />','<img src="Images/03.gif" />');
$message = $monchamp;
$message = stripslashes($message);
$message = str_replace($in,$out,$message);
$message = nl2br($message);
echo $message;
?>
tout marche bien aussi !
c'est cool je vois pas ce qui faisait planté le script !
en tous cas merci encore a toi !