Autor Zpráva
Mája
Profil *
Ahoj,

mám vytvořenou knihu návštěv, vše by bylo v pořádku - až na to, že při převodu smajlíku na odkaz se mi to uloží ve tvaru:

"<img src='smile05.gif' alt='smile' />"

místo:

"<img src='smile05.gif' alt='smile' />"

takže pochopitelně se místo obrázku vypíše text. Prosím, co za "blbost" bych měla doplnit???
Paja
Profil
obávám se, že to zrovna "blbostí" udělat nepůjde. V knize návštěv je zřejmě filtr, který odfiltrovává znaky "<" ">" .. atd. kvůli bezpečnosti návštěvní knihy .. to znamená, že do databáze nemůžete ukládat html značky a tak je to i správně.

Napravit se to dá dvěma způsoby:
1. odstranit filtr -> nedělal bych .. velice brzo by vám to někdo hacknul
2. ukládat smajlíky ve tvaru [smajlik1] a v knize doprogramovat, že pokud se tam nachází "[smajlik1]" tak se to nahradí za html
Mája
Profil *
<script language="javascript" type="text/javascript">

function vloz(kod,kde){
document.getElementById(kde).value += kod;
}

</script>
<!--hlavni stranka-->
<div id="page">


<div class="nadpis">...</div>

<BR />


<TABLE width="95%" align="center"><TR class=kniha><TD class=kniha>

<form name="form" method="post" action="kniha-pokus.php3?action=uloz">
<table>
<tr><td class="text">jméno*:</td><td><input type="text" name="jmeno" size="50" /></td></tr>
<tr><td class="text">e-mail:</td><td><input type="text" value="@" name="mail" size="50" /></td></tr>
<tr><td class="text">web:</td><td><input type="text" value="http://" name="web" size="50" /></td></tr>
<tr><td valign="top" class="text">vzkaz*:</td>
<td class="text"><textarea name="vzkaz" cols="40" rows="5" id="vlozit" ></textarea></td></tr>
<tr><td>&nbsp;</td></tr>
<tr><td>&nbsp;</td><td valign="top">

<a onclick="vloz(' [smile00] ','vlozit');" href="javascript: vloz()"><img src="00.gif" alt="[smile00]" /></a> &nbsp;
<a onclick="vloz(' [smile01] ','vlozit');" href="javascript: vloz()"><img src="01.gif" alt="[smile01]" /></a> &nbsp;
<a onclick="vloz(' [smile02] ','vlozit');" href="javascript: vloz()"><img src="02.gif" alt="[smile02]" /></a> &nbsp;
<a onclick="vloz(' [smile03] ','vlozit');" href="javascript: vloz()"><img src="03.gif" alt="[smile03]" /></a> &nbsp;
<a onclick="vloz(' [smile04] ','vlozit');" href="javascript: vloz()"><img src="04.gif" alt="[smile04]" /></a> &nbsp;
<a onclick="vloz(' [smile05] ','vlozit');" href="javascript: vloz()"><img src="05.gif" alt="[smile05]" /></a> &nbsp;
<a onclick="vloz(' [smile06] ','vlozit');" href="javascript: vloz()"><img src="06.gif" alt="[smile06]" /></a> &nbsp;
<a onclick="vloz(' [smile07] ','vlozit');" href="javascript: vloz()"><img src="07.gif" alt="[smile07]" /></a> &nbsp;
<a onclick="vloz(' [smile08] ','vlozit');" href="javascript: vloz()"><img src="08.gif" alt="[smile08]" /></a> &nbsp;
<a onclick="vloz(' [smile09] ','vlozit');" href="javascript: vloz()"><img src="09.gif" alt="[smile09]" /></a> &nbsp;
<br />
<a onclick="vloz(' [smile10] ','vlozit');" href="javascript: vloz()"><img src="10.gif" alt="[smile10]" /></a> &nbsp;
<a onclick="vloz(' [smile11] ','vlozit');" href="javascript: vloz()"><img src="11.gif" alt="[smile11]" /></a> &nbsp;
<a onclick="vloz(' [smile12] ','vlozit');" href="javascript: vloz()"><img src="12.gif" alt="[smile12]" /></a> &nbsp;
<a onclick="vloz(' [smile13] ','vlozit');" href="javascript: vloz()"><img src="13.gif" alt="[smile13]" /></a> &nbsp;
<a onclick="vloz(' [smile14] ','vlozit');" href="javascript: vloz()"><img src="14.gif" alt="[smile14]" /></a> &nbsp;
<a onclick="vloz(' [smile15] ','vlozit');" href="javascript: vloz()"><img src="15.gif" alt="[smile15]" /></a> &nbsp;
<a onclick="vloz(' [smile16] ','vlozit');" href="javascript: vloz()"><img src="16.gif" alt="[smile16]" /></a> &nbsp;
<a onclick="vloz(' [smile17] ','vlozit');" href="javascript: vloz()"><img src="17.gif" alt="[smile17]" /></a> &nbsp;
<a onclick="vloz(' [smile18] ','vlozit');" href="javascript: vloz()"><img src="18.gif" alt="[smile18]" /></a> &nbsp;
</td></tr>

<tr><td class="text"><b>důležité!</b></td><td class=text>- kolik dní má týden (napsat číslovku)*:</td></tr>
<tr><td></td><td><input type="text" name="dulezite" size="50" /></td></tr>
<tr><td></td>
<td class="text">jinak nebude vzkaz odeslán - proti nežádoucím reklamním zmetkům:)</td></tr>
<tr><td></td><td><input type="submit" value="odeslat"></td></tr>
<tr><td></td><td><hr></td><td></td></tr>
</table>
</form>


<?php

function Preved($zprava){
$zprava=stripslashes($zprava);
$find=array (
"\n", "[smile00]", "[smile01]", "[smile02]", "[smile03]", "[smile04]", "[smile05]", "[smile06]", "[smile07]", "[smile08]", "[smile09]", "[smile10]", "[smile11]", "[smile12]", "[smile13]", "[smile14]", "[smile15]", "[smile16]", "[smile17]", "[smile18]",
"","", "[u]","[/u]", "","", "[kod]","[/kod]"
);
$replace=array (
"<br />",
"<img src=\"smile00.gif\" alt=\"smile\" />",
"<img src=\"smile01.gif\" alt=\"smile\" />",
"<img src=\"smile02.gif\" alt=\"smile\" />",
"<img src=\"smile03.gif\" alt=\"smile\" />",
"<img src=\"smile04.gif\" alt=\"smile\" />",
"<img src=\"smile05.gif\" alt=\"smile\" />",
"<img src=\"smile06.gif\" alt=\"smile\" />",
"<img src=\"smile07.gif\" alt=\"smile\" />",
"<img src=\"smile08.gif\" alt=\"smile\" />",
"<img src=\"smile09.gif\" alt=\"smile\" />",
"<img src=\"smile10.gif\" alt=\"smile\" />",
"<img src=\"smile11.gif\" alt=\"smile\" />",
"<img src=\"smile12.gif\" alt=\"smile\" />",
"<img src=\"smile13.gif\" alt=\"smile\" />",
"<img src=\"smile14.gif\" alt=\"smile\" />",
"<img src=\"smile15.gif\" alt=\"smile\" />",
"<img src=\"smile16.gif\" alt=\"smile\" />",
"<img src=\"smile17.gif\" alt=\"smile\" />",
"<img src=\"smile18.gif\" alt=\"smile\" />",
"<strong>","</strong>", "<u>","</u>", "<em>","</em>", "<div class='zdrojak'>","</div>");
$zprava=str_replace($find, $replace, $zprava);
return $zprava;
}

if ($action=='uloz'):
$soubor = "kniha-pokus.body";
@$ext = fopen($soubor, "r");
@$obsah = fread($ext, filesize($soubor));
@FClose($ext);
if (($vzkaz=="") or ($jmeno=="") or ($dulezite<>"7")):
echo "<h6>Nejsou vyplněny požadované údaje</h6>";
else:
$ext = fopen("kniha-pokus.body", "w");
$mail = HTMLSpecialCHars($mail);
$web = HTMLSpecialCHars($web);

if($mail == "@")
$mail = "";
else $mail = "<a href=\"mailto:$mail\">".$mail."</a>";

if($web == "http://")
$web = "";
else $web = "<a href=$web>".$web."</a>";

$vzkaz = Preved($vzkaz);

$jmeno = HTMLSpecialCHars($jmeno);
Mája
Profil *
Odkaz na www-stránky i mail se ukládá totiž v pohodě....
kletely
Profil
Mája
Skús dať funkciu HTMLSpecialCHars() ešte pred $zprava=str_replace($find, $replace, $zprava);
Mája
Profil *
díky všem, já jsem nakonec udělala ještě jednu funkci na převod a vložila ji tam, kde se ukládá do tabulky ten vzkaz - a funguje to :)) Já mám takovou radost :-P

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: