Editor

Zdravím chtěl bych se zeptat na tento script v čem je chyba


<?php

session_start();

if isset($_GET["soubor"]) $soubor = trim($_GET["soubor"]);

// teď záleží na tom, co chcete dělat... například já vezmu, že název souboru může mít jen čísla, písmena, podtržítko a pomlčku

// GETem předávám název souboru bez přípony

if(!eregi('[a-z0-9_\-]*',$soubor) die("neplatny nazev souboru!");

// doplním řekněme příponu .txt

$soubor = $soubor.".txt";

// uložím do session

$_SESSION["soubor"]=$soubor;

if(fopen($soubor,"r")){

$text = fread($soubor, filesize($soubor));

} else{

if file_exists($soubor) die("Chyba pri cteni souboru");

else $text = "";

}

?>



HTML omáčka*

<h1>Editace souboru <?php echo($soubor); ?></h1>

<form action="ulozit.php" method="POST">

<textarea name="editor" id="editor"><?php echo($text)?></textarea>

<input type="submit" value="uložit" />

</form>

zbytek HTML *

a v tomhle



<?php

session_start();

$soubor = $_SESSION["soubor"];

if($soubor=="") die("Neplatný název souboru");

// odstraním z textu HTML/PHP kód...

$text = strip_tags($_POST["editor"]);

$deskriptor = fopen($soubor, "w");

if(!$deskriptor) die("nepodarilo se vytvorit soubor");

if(!fwrite($deskriptor, $text)) die("Nepodarilo se zapsat soubor");

?>

(HTML kód oznamující úspěšný zápis do souboru)
PHP může být nakonfigurováno (a tady, zřejmě je), tak, že je třeba zadat celou cestu k souboru. tedy např.: /home/x/xaver/soubor.txt
jde to i bez té cesty, tohle je první část (zpočátku jsem si nevšiml, že to má ještě potačování) a taky byl problém s umístěním závorek (pokud jsem tedy pochopil smysl a neuděl z toho něco jiného)

<?php
session_start();
if (isset ($_GET["soubor"])) $soubor = trim($_GET["soubor"]);
// teď záleží na tom, co chcete dělat... například já vezmu, že název souboru může mít jen čísla, písmena, podtržítko a pomlčku
// GETem předávám název souboru bez přípony
if(!eregi('[a-z0-9_\-]*',$soubor)){
$text = "";
die("neplatny nazev souboru!");
}
// doplním řekněme příponu .txt
$soubor = $soubor.".txt";
// uložím do session
$_SESSION["soubor"]=$soubor;
if (file_exists($soubor)){
$fd = fopen($soubor,"r");
$text = fread($fd, filesize($soubor));
}else{
die("Chyba pri cteni souboru");
}
?>
už to mám thx za ochotu. :o)