Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Księga gości
Forum PHP.pl > Forum > Przedszkole
bronx
witam

mam własny skrypt księgi giści i chodzi idealnie, ale ostatnio trafiłem na pewnien problem...

a mianowicie ktoś z wpisujących się podpisał się tak - <Krzysiek> no i oczywiscie nie pojawilo sie nic... chciałem to zlikwidowac zastepujac znaki < oraz > pustymi miejscami ale to przeciez ni o to chodzi, a na dodatek ksiega jest z emotikonami i wtedy one sie nie pojawia...

wiec jak wyjsc z tej opresji questionmark.gif

pozdrawiam
anas
Hej.

Zamieniaj < i > na "&lt;" i "&gt;"

pozdrawiam

anas
bronx
Cytat(anas @ 2004-09-10 15:16:00)
Hej.

Zamieniaj < i > na "&lt;" i "&gt;"

pozdrawiam

anas

to niczego nie zmieni, bo wtedy owszem w nicku pojawi się dobrze, ale we wpisie wtedy zamiast EMOTÓW pojawią się same komendy :/
unknow
to moze zamiast:

<emot>

zorb, zeby musieli wpisywac :emot: questionmark.gif
bronx
Cytat(unknow @ 2004-09-10 15:38:42)
to moze zamiast:

<emot>

zorb, zeby musieli wpisywac :emot: questionmark.gif

chyba nie bardzo rozumiesz...

patrz oto jak wywołuje emotikony:

  1. <?php
  2.  
  3. $table=str_replace(&#092;"%)\",\"<img src=\"ksiega/emoty/01.gif\" align=\"absmiddle\" border=\"0\">\",$table); 
  4. $table=str_replace(&#092;":D\",\"<img src=\"ksiega/emoty/02.gif\" align=\"absmiddle\" border=\"0\">\",$table);
  5.  
  6. itd.
  7.  
  8. ?>


czyli jak ktoś wstawi znaczek np. % to wtedy zamiast znaczka pojawi się

<img src=\"ksiega/emoty/01.gif\" align=\"absmiddle\" border=\"0\">

czyli dany "emot" i jeżeli zniemie znaczki < i > na coś innego to wtedy emot się nie pojawi, zgadza się ?

no właśnie

czy jest jakieś wyjście z tej sytuacji questionmark.gif
anas
Hej ponownie.

Moze zamieniaj wszystkie znaki < > na &lt i &gt i dopiero dodawaj do bazy, a w bazie z emotami zrob emotioikony wlasnie z tymi znakami a nie < i >

np.

  1. <?php
  2.  
  3. $table=str_replace(&#092;":&gt\",\"<img src=\"ksiega/emoty/02.gif\" align=\"absmiddle\" border=\"0\">\",$table);
  4.  
  5. ?>


wtedy pozostanie tylko problem z nickami typu <:Denwer:> bo wstawi Ci tu dwa emotioikony, ale to juz problem tych userow... dobrym pomyslem byloby zrobienie osobnego pola na zlozenie podpisu i przechowywanie go w osobnym polu tabeli od forum, ale to zmusi uzytkownikow do przestawienia sie na inny styl pisania

pozdrawiam

anas
rogrog
1. najpierw przepuszczasz dane przez funkcję htmlspecialchars" title="Zobacz w manualu PHP" target="_manual
2. dopiero potem zamieniasz emoty na ich htmlowe odpowiedniki!

PS. jeżeli chcesz emota np snitch.gif albo :< to zamieniasz :&lt; albo :&gt; na ich odpowiedniki
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.