výpis z knihy hostů

vážení mám problém s knihou hostů. při zobrazování záznamů se mi nezobrazí hodnoty proměnných jmeno a email. Jinak vše funguje jak má.
pro jistotu zasílám zdroják.
díky za pomoc petas
<?php
if(!$fn) $fn="./kniha2.dat";
if($zapsat):
$prispevek ="<i>".htmlspecialchars($jmeno)."</i>";
if ($email)
$prispevek ="<a href=\"mailto:".
htmlspecialchars($email) . "\">".$prispevek.
"</a>";
$prispevek .=", ". date("j.n.Y G:i.s") . "\n<br>".
nl2br(htmlspecialchars($text)) ."<hr>\n";
if(File_exists($fn)) {
$fp=fopen($fn,"r");
$prispevek.=implode('',file($fn));
fclose($fp);
}
$fp = fopen($fn,"w");
if(!$fp) exit;
fputs($fp,$prispevek);
fclose($fp);
endif;
?>


<head>
<title>kniha hostů s obráceným vypisováním</title>

</head>
<body>
<form action="<?php echo $PHP_SELF; ?>" method="post">
<input type="hidden" name="fn" value="<?php echo $fn; ?>">
<table>
<tr><td align="left">Jméno:
<input type="text" value="<?php echo $jmeno; ?>">
</td>
<td align="right">Email:
<input type="text"value="<?php echo $email; ?>"></td></tr>
<tr><td colspan="2">Zpráva:<br>
<textarea rows="5" cols="60" name="text">

</textarea></td></tr>

</table>
<input type="submit"name="zapsat"
value="odeslat">
</form>
<?php
if(File_exists($fn)) readfile($fn); ?>
</body>
A koukal si se do souboru "./kniha2.dat", jestli tam jsou všechny výše uvedené hodnoty vůbec zapsané?
Pokud ne, tak zkus:


<?php
if(!$fn) $fn="./kniha2.dat";
if($zapsat):
$prispevek .="<i>".htmlspecialchars($jmeno)."</i>";
if ($email)
$prispevek .="<a href=\"mailto:".
htmlspecialchars($email) . "\">".$prispevek.
"</a>";
$prispevek .=", ". date("j.n.Y G:i.s") . "\n<br>".
nl2br(htmlspecialchars($text)) ."<hr>\n";
if(File_exists($fn)) {
$fp=fopen($fn,"r");
$prispevek.=implode('',file($fn));
fclose($fp);
}
$fp = fopen($fn,"w");
if(!$fp) exit;
fputs($fp,$prispevek);
fclose($fp);
endif;
?>
A nezapomen si pred zapsanim zamknout datovy soubor pomoci flock(), aby se ti soubor nevyprazdnil