Autor Zpráva
Mirka
Profil *
Zdravím,
chtěla bych požádat o pomoc. Mám následující dva soubory v php a když to dám na své stránky, tak se vypíše pouze datum a čas, ale jméno, e-mail a text vzkazu vidět není. Pomůže prosím někdo?


<b>Kniha.php:</b>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<LINK href="styl.css" rel="stylesheet" type="text/css">
<title>Kniha návštěv</title>
<SCRIPT LANGUAGE="JavaScript"><!--
function zkontroluj(formular)
{

if (formular.jmeno.value=="")
{
alert("Vaše jméno (přezdívku) musíte vyplnit!");
formular.jmeno.focus();
return false;
}
else if (formular.email.value=="")
{
alert("Adresu elektronické pošty musíte vyplnit!");
formular.email.focus();
return false;
}
else if (formular.zprava.value=="")
{
alert("Text zprávy musíte vyplnit!");
formular.zprava.focus();
return false;
}
else if (window.RegExp)
{
re = new RegExp("^[^.]+(.[^.]+)*@([^.]+[.])+[a-z]{2,3,4}$");
if (!re.test(formular.email.value))
{
alert("Zadaná adresa není správnou adresou elektronické pošty!");
formular.email.focus();
return false;
}
}
else
return true;
}
// -->
</SCRIPT>
</head>

<body>
<table width="50%" align="center">
<tr><td width="100%" class=nadpis>
<center>Návštěvní kniha</center><br><br>

<table border="0" cellspacing="0" cellpadding="0" align="center">
<form action="insert.php" method="post" onSubmit="return zkontroluj(this)">

<tr><td width=120 class=povinne>
Jméno:
</td><td>
<input type="text" name="jmeno" size="30" maxlength="60" class="inputbook">
</td></tr>

<tr><td width=120 class=povinne>
E-mail:
</td><td>
<input type="text" name="email" value="@" size="30" maxlength="60" class="inputbook">
</td></tr>

<tr><td width=120 class=nepovinne>
Web (i s http://):
</td><td>
<input type="text" name="web" value="http://" size="30" maxlength="60" class="inputbook">
<input type="hidden" name="odeslano" value="ano">
</td></tr>

<tr><td valign=top width=120 class=povinne>
Text zprávy: <font size="3" color="Black">jsou povoleny tagy &lt;b&gt;, &lt;u&gt; a &lt;i&gt;, můžete psát i odkazy ve tvaru www.neco.cz nebo http://neco.neco.cz</font>
</td><td>
<textarea cols="29" rows="5" class=inputbook name="zprava"></textarea>
</td></tr>
<tr><td width=120>&nbsp;</td><td>
<center><input type="submit" class=bluebutton value="Odeslat">&nbsp;&nbsp;&nbsp;<input type="Reset" class=bluebutton value="Vymazat"></center>
</form></td></tr></table>


<hr color="#00008B">
<?
function Odkaz()
{
if (File_Exists ("book.dat")):
echo "<center><font class=cas>Zobrazit příspevky:<br><br>";

$prispevek = File("book.dat");
$strana = Ceil(Count($prispevek)/20);

for ($x=1;$x<=$strana;$x++):
echo "<a href=kniha.php?idprispevek=$x>" . ($x*20-19) . "-" . $x*20 . "</a>&nbsp;&nbsp;&nbsp";
endfor;
echo "</center>";
endif;
}
Odkaz();
?>
<hr color="#00008B">
<?
if (File_Exists ("book.dat")):
if (!IsSet($idprispevek)) $idprispevek=1;
$pocatek = $idprispevek*20-20;
$konec = $idprispevek*20-1;

$prispevek = File("book.dat");
for ($i=$pocatek;$i<=$konec;$i++):
echo $prispevek[$i];
endif;

Odkaz();
?>
<hr color="#00008B">
</td>
</tr>
</table>





<b>Insert.php:</b>
<?
$jmeno = HTMLSpecialChars($jmeno);
$email = HTMLSpecialChars($email);
$web = HTMLSpecialChars($web);


$jmeno = "<table><tr><td class=jmeno>$jmeno</td></tr>";
$email = "<tr><td class=odkaz><A HREF=mailto:$email>$email</A></td></tr>";
if ($web!="" && $web!="http://"):
$www = "<tr><td class=odkaz><A HREF="$web">$web</A></td></tr>";
endif;
$cas = "<tr><td class=cas>" . Date("j. " . "m. " . "Y, " . "H:i:s") . "</td></tr>";

$zprava = SubStr($zprava, 0, 1500);
$zprava = Trim($zprava);
$zprava = HTMLSpecialChars($zprava);
$zprava = Str_Replace(" "," <BR> ", $zprava);

$znak = 66;
$slovo = Split("[[:blank:]]+", $zprava);
for($y=0;$y<Count($slovo);$y++):
$slovo[$y] = Trim($slovo[$y]);
if (Strlen($slovo[$y])<=$znak):
if (EregI("^(www..+..{2,3})$", $slovo[$y])):
$odkaz = EregI_Replace("^(www..+..{2,3})$", "<a href=http://\1>\1</a> ", $slovo[$y]);
elseif (EregI("^(http://.+..{2,3})$", $slovo[$y])):
$odkaz = EregI_Replace("^(http://.+..{2,3})$", "<a href=\1>\1</a> ", $slovo[$y]);
else:
$odkaz = $slovo[$y] . " ";
endif;
$celek .= $odkaz;
else:
$delit = Ceil(StrLen($slovo[$y])/$znak);
for($z=0;$z<$delit;$z++):
$cast = Substr($slovo[$y], $z*$znak, $znak);
$celek .= $cast . " - ";
endfor;
endif;
endfor;


$zprava = Str_Replace("&lt;b&gt;", "<b>", $celek);
$zprava = Str_Replace("&lt;/b&gt;", "</b>", $zprava);

$zprava = Str_Replace("&lt;i&gt;", "<i>", $zprava);
$zprava = Str_Replace("&lt;/i&gt;", "</i>", $zprava);

$zprava = Str_Replace("&lt;u&gt;", "<u>", $zprava);
$zprava = Str_Replace("&lt;/u&gt;", "</u>", $zprava);

$zprava = "<tr><td class=text><br>$zprava</td></tr></table><hr color=#00008B> ";

$write = StripSlashes($jmeno . $email . $www . $cas . $zprava);

if (File_Exists ("book.dat")):
$fp = FOpen ("book.dat", "r");
$data = FRead ($fp, FileSize("book.dat"));
FClose($fp);
endif;
$fp = FOpen ("book.dat", "w");
FWrite ($fp, $write.$data);
FClose ($fp);
?>
<html><head>
<META HTTP-EQUIV="Refresh" CONTENT="0; URL=kniha.php">
</head></html>
djlj
Profil
Možná by bylo fajn sem nakopírovat relevantní zdrjový kód. Píšeš, že se to nezobrazuje při výpisu, ale to, co jsi sem vložil, je kód pro vkládání vzkazu. Ale každopádně zkontroluj, zda se do databáze vkládají správné údaje a zda nemáš nějakou chybu při výpisu (třeba špatně pojmenované pole).

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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