Autor Zpráva
Sonos
Profil
Cau, už mám zase další problém :(. Našel jsem si sepsaný php kód na návštěvní knihu. Prozkoušel jsem jí na localhostu a vše fungovalo perfektně. Ale když to nahraju na FTP vypíše mi to 3 chyby. Data se ukládají do externího souboru. Může to být free hostnigem? Konkrétně je to ic.cz

Tady je ten kód:
<html><body>
<?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="index.php">
<table><tr><td>jméno:</td>
<input type="hidden" value="uloz" name="action" />
<td><input type="text" name="jmeno" value="<?php echo $jmeno ?>" size="50" /</td>
</tr><tr><td>e-mail:</td>
<td><input type="text" name="mail" value="<?php echo $mail ?>" size="50" /></td>
</tr><tr></tr>
<tr><td valign="top">Vzkaz</td>
<td><textarea name="vzkaz" cols="40" value="<?php echo $vzkaz ?>" rows="5"><?php echo $vzkaz ?>
</textarea></td></tr>
<tr><td></td><td>Ochrana proti spamu: 4 plus 5 =
<input type="text" name="kontrola" value="<?php echo $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);

$jmeno = HTMLSpecialCHars($jmeno);
$vzkaz = HTMLSpecialCHars($vzkaz);
$tab = "<tr><td width=\"300\" >".$jmeno."</td>
<td align=\"right\">".Date(" d/m/Y H:i:s")."</td>
</tr><tr><td colspan=\"2\">".$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);
Toto je řádek 71... nic tady neni
endif;
else: @$ext = fopen("kniha.body", "r");
@fpassThru($ext); endif;

?>
</table>
</body>
</html>

---------------Tady jsou vypsané chyby, když odešlete příspěvek-----------------

Warning: fopen(kniha.body) [function.fopen]: failed to open stream: Permission denied in /home/free/tym.cz/p/prasacka/root/www/kniha.php on line 56

Warning: fputs(): supplied argument is not a valid stream resource in /home/free/tym.cz/p/prasacka/root/www/kniha.php on line 71

Warning: fclose(): supplied argument is not a valid stream resource in /home/free/tym.cz/p/prasacka/root/www/kniha.php on line 73

---------------Konkrétní řádky v kódu...56, 71, 73, jsou vyznačeny tučným písmem----------
Měsíček
Profil
Není to snad jasný? :( .. zkus si pomocí slovníku přeložit ty hlášky (warningy) co ti to vypsalo.
Sonos
Profil
hmm.. no tak jsem to přeložil, problém je v tom že, php se teprve učím a tak nevim jak zajistit aby přístup nebyl odepřen atd.. zkrátka nevíš jak to opravit? Nebo to na ic.cz nepůjde?
yFang
Profil
Sonos
Nastav chmod 777.
Sonos
Profil
Bohužel nepomáhá.. prozměnu napsalo

Warning: fopen(kniha.body) [function.fopen]: failed to open stream: Permission denied in /home/free/tym.cz/p/prasacka/root/www/kniha.php on line 64

Warning: fputs(): supplied argument is not a valid stream resource in /home/free/tym.cz/p/prasacka/root/www/kniha.php on line 79

Warning: fclose(): supplied argument is not a valid stream resource in /home/free/tym.cz/p/prasacka/root/www/kniha.php on line 81
Sonos
Profil
aha tak už to mam..u kniha.php jsem mohl chmod nechat na 644, ale soubor který se se měl vytvořit (kniha.body) se nevytvořil a tak jsem ho nechal vytvořit na localhostu a pak jsem ho hodil na FTP. Pak už stačilo jenom nastavit chmod souboru kniha.body na 777 a vše běží jak má :).. díky všem

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0