
Převod z textových smajlíků na grafické
Dobrý den, zdravím vás
Mám dotaz, jak již název napovídá - potřebuji převést textové smajlíky na grafické (zkoušel jsem hledat, ale nic zde na poradně jsem nenašel). V souboru, řekněme například index.php lidé příspěvky vkládají, v souboru chat.php se pak zobrazují. Zkoušel jsem googlovat nějaký návod na převod, vygoogloval, ale nerozjel Bude asi lepší, sepsat skript pro převod tam, kde se vypisují data z databáze (soubor chat.php) - viz kód.
Proto vás žádám, zda by jste mi nemohli nějaký skript pro převod textových smajlíků na grafické sepsat.
Zde je můj kód pro výpis (soubor chat.php):
require_once ('../../admin/mysql/mysql.php');
$dotaz = "SELECT *, DATE_FORMAT(datum_prispevku,'%e. %c. %Y v %k:%i') AS datum FROM minichat ORDER BY id_prispevku DESC";
$vysledek = mysql_query ($dotaz);
while ($radek = mysql_fetch_array ($vysledek, MYSQL_ASSOC)) {
echo "<div title='{$radek['datum']}'><div id='autor_chat'><b>{$radek['autor_prispevku']}</b><br/><img src='../../images/chat_pod.jpg' border='0'></div><div>{$radek['obsah_prispevku']}</div><br/></div>";
}
mysql_close();
Předem moc díky
Jeden asi ze 127 442 způsobů, jak to udělat
:
Heh, díky moc
(funguje)
Jo jinak pak mi dej odkaz na ten chat, abych ho mohl hacknout, nemáš tam ochranu proti SQL injection ani javascript útokům atd..
No, tak to abych doladil
hint: htmlspecialchars() a ve vkládání mysql_real_escape_string()
Jak to používat najdeš na php.net
dobře, díky
Abys se s tím nebabral:
Ved si mu neescapoval ten $dotaz, to je najvacsie riziko, nie? Je tam nebezpecie SQL injection cez tie %e %c %Y atd.
Robit htmlsecialchars po vyberani z databazy podla mna uz neni az tak dolezite z hladiska bezpecnosti (resp. jaj to je pre text prispevku = uzivatelsky vstup, takze je dolezite aj to htmlsecialchars, som predpokladal ze htmlsecialchars robi uz pred vkladanim do databazy, bez toho to je fakt emental).
Ale IMHO to dokáže pomoci, když nemá ošetřen ten vstup proti <script> atd. Je jasné, ať si přes to dá všechny hodnoty z databáze.
Ano urobit to na vsetko, nielen text prispevku, aj meno atd. aj tam moze byt script. Som myslel ze to robi uz pred vkladanim do DB, ale ano najlepsie je urobit to tesne pred zobrazenim do HTML.
Mal by ale osetrit aj ten SQL $dotaz, predtym ako ho vykona = ochrana proti SQL injection. Napr.
$dotaz = mysql_escape_string($dotaz);
a az potom
$vysledek = mysql_query ($dotaz);
P.S. a aj pri vkladani do DB (aj aj tam je nejaky uzivatelsky vstup v SQL dotaze)
Amen.
Okys