Autor Zpráva
Doom4
Profil *
Dobry den mam takovy problem :D kdyz zadam smajli tak se mi jednak zobrazi jako textove teda *1* a pak hned zatim obrazek ale ja potreubju zobrazit jen obrazek a pak dalsim problemem je ze se mi v kazdem prizveku meni smajli nevite co s tim ? :-(

if ($send && $text != ""): // pokud byly odeslány data
// odstraníme z příspěvku HTML tagy
$text = HTMLSpecialChars($text);
$cas = date("d-m-Y H:i:s");
// vlo�íme příspěvek do databáze
@$f = mysql_query ("INSERT INTO guestbook VALUES ('','$jmeno','$email','$nazev','$text','$cas')");
endif;

?>

<html>

<head>
<meta http-equiv="Content-Type"
content="text/html; charset=windows-1250">
<title>Kniha náv�těv</title>
</head>

<body bgcolor="#FFFFFF">

<div align="center"><center>

<table border="0" width="30%">
<tr>
<td><div align="center"><center><table border="0"><FORM name="formular" ACTION="guestbook.php" METHOD="POST"><INPUT TYPE=HIDDEN NAME="send" VALUE="true">
<tr>
<td><strong>Jméno:</strong></font></td>
<td><strong><input
type="text" size="30" name="jmeno"></strong></font></td>
</tr>
<tr>
<td><strong>E-mail:</strong></font></td>
<td><strong><input
type="text" size="30" name="email"></strong></font></td>
</tr>
<tr>
<td><strong>Nadpis:</strong></font></td>
<td><strong><input
type="text" size="30" name="nazev"></strong></font></td>
</tr>
<tr>
<td><strong>Text:</strong></font></td>
<td><strong><textarea
name="text" rows="2" cols="30" name="text1"></textarea></strong></font></td>
</tr>
<tr>
<td colspan="2"><center><input type="submit" value="Odeslat"></center></td></form>
</tr>
</table>
</center></div></td>
</tr>

</table>
<table>
<tr>
<td>Smajly:</td>
<td align="center">

</td>
</tr>
</table>

</center></div>


</table>
</center></div>
<script>
function add(neco) {
document.formular.text.value = document.formular.text.value + ' '+neco+' ';
document.formular.text.focus();
};

bla = true;
function replace(necojinyho) {
if (bla) {
document.formular.text.value = document.formular.text.value + '[' + necojinyho + ']';
document.formular.text.focus();
}

if (!bla) {
document.formular.text.value = document.formular.text.value + '[/' + necojinyho + ']';
document.formular.text.focus();
}

bla = !bla;
};

</script>
<center>
<table>
<tr>
<td>Smajly:</td>
<td align="center">
<a href="javascript:add('*1*');" title="*1*"><img src="./smajly/01.gif" width="15" height="15" border="0"></a>&nbsp;
<a href="javascript:add('*2*');" title="*2*"><img src="./smajly/02.gif" width="15" height="15" border="0"></a>&nbsp;
<a href="javascript:add('*3*');" title="*3*"><img src="./smajly/03.gif" width="15" height="15" border="0"></a>&nbsp;
<a href="javascript:add('*4*');" title="*4*"><img src="./smajly/04.gif" width="15" height="15" border="0"></a>&nbsp;
<a href="javascript:add('*5*');" title="*5*"><img src="./smajly/05.gif" width="15" height="15" border="0"></a>&nbsp;
<a href="javascript:add('*6*');" title="*6*"><img src="./smajly/06.gif" width="15" height="15" border="0"></a>&nbsp;
<a href="javascript:add('*7*');" title="*7*"><img src="./smajly/07.gif" width="15" height="15" border="0"></a>&nbsp;
<a href="javascript:add('*8*');" title="*8*"><img src="./smajly/08.gif" width="15" height="15" border="0"></a>&nbsp;
<a href="javascript:add('*9*');" title="*9*"><img src="./smajly/09.gif" width="15" height="15" border="0"></a>&nbsp;<br>
<a href="javascript:add('*10*');" title="*10*"><img src="./smajly/10.gif" width="15" height="15" border="0"></a>&nbsp;
<a href="javascript:add('*11*');" title="*11*"><img src="./smajly/11.gif" width="15" height="15" border="0"></a>&nbsp;
<a href="javascript:add('*12*');" title="*12*"><img src="./smajly/12.gif" width="15" height="15" border="0"></a>&nbsp;
<a href="javascript:add('*13*');" title="*13*"><img src="./smajly/13.gif" width="15" height="15" border="0"></a>&nbsp;
<a href="javascript:add('*14*');" title="*14*"><img src="./smajly/14.gif" width="15" height="15" border="0"></a>&nbsp;
<a href="javascript:add('*15*');" title="*15*"><img src="./smajly/15.gif" width="15" height="15" border="0"></a>&nbsp;
<a href="javascript:add('*16*');" title="*16*"><img src="./smajly/16.gif" width="15" height="15" border="0"></a>&nbsp;
<a href="javascript:add('*17*');" title="*17*"><img src="./smajly/17.gif" width="15" height="15" border="0"></a>&nbsp;
<a href="javascript:add('*18*');" title="*18*"><img src="./smajly/18.gif" width="15" height="15" border="0"></a>&nbsp;
</td>
</tr>
</table>
</center>



<?
$chyba=mysql_error();
echo "$chyba";
$nahradit_co=array("*1*","*2*","*3*","*4*","*5*","*6*","*7*","*8*","*9 *","*10*","*11*","*12*","*13*","*14*","*15*","*16*","*17*","*18*");

$nahradit_cim = array(
"<img src=\"./smajly/01.gif\" width=\"15\" height=\"15\">",
"<img src=\"./smajly/02.gif\" width=\"15\" height=\"15\">",
"<img src=\"./smajly/03.gif\" width=\"15\" height=\"15\">",
"<img src=\"./smajly/04.gif\" width=\"15\" height=\"15\">",
"<img src=\"./smajly/05.gif\" width=\"15\" height=\"15\">",
"<img src=\"./smajly/06.gif\" width=\"15\" height=\"15\">",
"<img src=\"./smajly/07.gif\" width=\"15\" height=\"15\">",
"<img src=\"./smajly/08.gif\" width=\"15\" height=\"15\">",
"<img src=\"./smajly/09.gif\" width=\"15\" height=\"15\">",
"<img src=\"./smajly/10.gif\" width=\"15\" height=\"15\">",
"<img src=\"./smajly/11.gif\" width=\"15\" height=\"15\">",
"<img src=\"./smajly/12.gif\" width=\"15\" height=\"15\">",
"<img src=\"./smajly/13.gif\" width=\"15\" height=\"15\">",
"<img src=\"./smajly/14.gif\" width=\"15\" height=\"15\">",
"<img src=\"./smajly/15.gif\" width=\"15\" height=\"15\">",
"<img src=\"./smajly/16.gif\" width=\"15\" height=\"15\">",
"<img src=\"./smajly/17.gif\" width=\"15\" height=\"15\">",
"<img src=\"./smajly/18.gif\" width=\"15\" height=\"15\">");


$text= str_r
Doom4
Profil *
$text= str_replace($nahradit_co, $nahradit_cim,$text);
?>





<?



// vybereme posledních 20 zpráv z databáze

$v = mysql_query("SELECT id,jmeno,email,nazev,text,cas
FROM guestbook
ORDER BY id DESC LIMIT 0,10");
$p = mysql_num_rows($v);

// pokud nějaké takovéto zprávy existují, zobrazíme je

if ($p > 0):
echo "<div align=center><center><table border=0 width=75%>";
while ($z = mysql_fetch_row($v))
{
echo "<tr><td><strong>";
if($z[2]) echo "<a href=mailto:$z[2]>$z[1]</a>"; //pokud byl zadán e-mail
else echo "$z[1]"; // pokud ne zobrazíme jen jméno
echo "</strong><br><em>$z[3]</em></td>
<td><p align=right>$z[5]</p></td></tr>
<tr><td colspan=2><strong>$z[4],$text</strong></td></tr>
<tr><td colspan=2><hr noshade></td></tr>";
}
echo "</TABLE>\n";
endif;
echo "</BODY></HTML>\n";
?>

jinak kniha v php je zde http://xchatteplice.wz.cz/guestbook.php
Finc
Profil *
Za prve:
Data do DB by se mela ukladat nezmena, htmlspecialchars navic neni na odstraneni html tagu. Osetreni by melo byt pouze na velikost a spravnost vkladanych dat. Pri selectu z DB data osetrit od html tagu strip_tags.
To same plati i pro cas, ktery ukladate. V DB by mel byt typ datetime, do ktereho se cas ulozi. Je zbytecne datum prevadet pred vlozenim do DB.

Za druhe:
naucte se XHTML + CSS

Za treti:
Pro zobrazeni smajliku byste mel pouzit nejaky regularni vyraz s omezenim poctu zobrazenych smajliku. Ja pouzivam napr. max. 4 smajliky, zbytek zustane v textove podobe.

Urcite by se pole $nahradit_cim dala prepsat pomoci for ci ji uplne zrusit, pokud pouzijete kontrolu pres regularni vyraz.
V javascriptu plati to same, urcite pouzit for, pokud jsou cisla smajliku takto v rade za sebou.

Vyber dat z DB Vam vybira pouze 10 radku, nikoli 20 jak mate v komentari, bacha na to.

Radeji bych k tomu sednul a prepsat to znovu. Kniha navstev je dost nachylna na chyby, zejmena uzivatele se muzou pokusit Vam ji spamovat ci jinak znehodnotit.
WalWerin
Profil *
to je jak ve vlaku ten zdroják
td td td td td td td
Toto téma je uzamčeno. Odpověď nelze zaslat.

0