Autor Zpráva
zoldak21
Profil
Dobrý den,
po delší době a s výraznou pomocí pár lidí (PHP moc neumím) jsem nakonec rozchodil komentáře. Narazil jsem však na problémek při změně @ na (zavináč). Při výpisu komentářů se mi pak (zavináč)seznam.cz napíše na nový řádek. viz: http://www.kopci.cz/kniha.php .
kód knihy:

<?php
$action = $_POST['action'];
$jmeno = $_POST['jmeno'];
$mail = $_POST['mail'];
$vzkaz = $_POST['vzkaz'];
$kontrola = $_POST['kontrola'];

function antispam($email, $jmeno){
$return = "<script type=\"text/javascript\"><!--\ndocument.write('<a href=\"' + 'mailto:' + '";
for($i=0;$i<strlen($email);$i++){
$code .= $email{$i}=='@' ? "' + '&#".ord("@")."' + '"
: "&#".ord($email{$i}).";";
}
$return .= $code."' + '\">' + '".$jmeno."' + '<\/a>');\n--></script>";
RETURN $return;
}
?>
<form name="form" method="post"
action="kniha.php">
<table><tr><td>jméno:</td>
<input type="hidden" value="uloz" name="action" />
<td><input type="text" name="jmeno" size="50" /></td>
</tr><tr><td>e-mail:</td>
<td><input type="text" name="mail" size="50" /></td>
</tr><tr></tr>
<tr><td valign="top">Vzkaz</td>
<td><textarea name="vzkaz" cols="52" rows="5">
</textarea></td></tr>
<tr><td></td><td>Ochrana proti spamu: 4 plus 5 =
<input type="text" name="kontrola" size="8" />
</td>
<tr><td></td><td>
<input type="submit" value="odeslat"></td>
</tr>
</table>
</form>
<table>
<?php
if ($action=='uloz'):
$soubor = "kniha.body";
@$ext = fopen($soubor, "r");
@$obsah = fread($ext, filesize($soubor));
@FClose($ext);

if($kontrola != "9"):
echo "<h6>Špatná odpověď</h6>";
elseif(($vzkaz=="") or ($jmeno=="")):
echo "<h6>Nejsou vyplněny požadované údaje</h6>";
else:
$ext = fopen("kniha.body", "w");
$mail = HTMLSpecialCHars($mail);

if($mail == "")
$mail = "";
else
$mail = antispam($mail,$mail);
$mail = str_replace("@", "(zavináč)", $mail);

$jmeno = HTMLSpecialCHars($jmeno);
$vzkaz = HTMLSpecialCHars($vzkaz);
$tab = "<tr><td width=\"300\" align=\"left\"><strong>".$jmeno."</strong></td>
<td align=\"right\">".Date(" d/m/Y H:i:s")."</td>
</tr><tr><td colspan=\"2\" align=\"left\">".$vzkaz."</td>
</tr><tr><td width=\"150\">".$mail."</td>
</tr><tr><td colspan=\"2\"><hr size=\"1\"></td>
</tr>";
fputs($ext, "$tab");
fputs ($ext, "$obsah");
FClose($ext);
@$ext = fopen("kniha.body", "r");
@fpassThru($ext);

endif;
else: @$ext = fopen("kniha.body", "r");
@fpassThru($ext); endif;

?>
</table>

komentář který tam vidíte vypadá v souboru kniha.body takto:

<tr><td width="300" align="left"><strong>Testování</strong></td>
<td align="right"> 10/04/2008 14:25:26</td>
</tr><tr><td colspan="2" align="left">Tak opět testování jestli to ještě pořád zalamuje?</td>
</tr><tr><td width="150"><script type="text/javascript"><!--
document.write('<a href="' + 'mailto:' + 'ICQ307237829' + '@' + 'seznam.cz' + '">' + 'ICQ307237829(zavináč)seznam.cz' + '<\/a>');
--></script></td>
</tr><tr><td colspan="2"><hr size="1"></td>
</tr>

předem dík za rady jak to udělat aby se email psal v celku na jeden řádek.
Matty
Profil
zoldak21
Asi mám něco s očima, protože mě se ten e-mail zobrazuje na jednom řádku (NN).
EDIT: V IE to je na dva řádky. Ten e-mail se zobrazuje v <td width="150">, takže když je delší než 150px, tak se zalomí.
zoldak21
Profil
reaguji na Matty:
díky upraveno
Toto téma je uzamčeno. Odpověď nelze zaslat.

0