Запись в файл

Rus

Guest
Запись в файл

Значит так, скрипт который можно увидеть ниже загружает файл в <textarea>, а потом он "должен" его перезаписывать обратно в файл. Вот перезапись у меня не удалась. Прошу помочь.

PHP:
<?php
$dir = SITEDIR;
	if (isset($HTTP_GET_VARS["msg"]) && $HTTP_GET_VARS["msg"] == "edit")
		editfile( $HTTP_POST_VARS["urlpage"], $HTTP_POST_VARS["textfile"] );
		

	if (isset($HTTP_GET_VARS["page"]))
	{
	echo "<html><body><center><b>".$dir.$HTTP_GET_VARS["page"]."</b></center>";
	echo "<form action=\"edf.php?msg=edit\" method=\"post\">
		<center><textarea rows=\"35\" cols=\"80\" name=\"textfile\">";
	
	$file = file($dir.$HTTP_GET_VARS["page"]);	
	for ($i =0 ; $i < count($file) ; $i++)
		echo htmlspecialchars($file[$i]);
			
	echo "</textarea><br><br>
		<index type=\"hidden\" name=\"urlpage\" value=\"".$dir.$HTTP_GET_VARS["page"]."\">
		<input type=\"submit\" value=\"Редактировать\">
		</center>
		</form>";
	}
	else browse();
	echo "</body></html>";


function browse()
{
echo "<a href=\"edf.php?page=index.php\">index.php</a><br>";
echo "<a href=\"edf.php?page=guest.php\">guest.php</a><br>";
echo "<a href=\"edf.php?page=news.php\">news.php</a><br>";
}


function editfile( $page, $file )
{
$save = fopen($page, "w");
fwrite($save, $file);
fclose($save);
}

?>
 

Rus

Guest
Ну да,

Notice: Undefined index: urlpage in /home/script/2/xdir/edf.php on line 33

Warning: fwrite(): supplied argument is not a valid stream resource in /home/script/2/xdir/edf.php on line 75

Warning: fclose(): supplied argument is not a valid stream resource in /home/script/2/xdir/edf.php on line 76

-~{}~ 23.02.05 01:53:

я пытался разобратся. но т.к. опыт у меня пока очень малый нечего не понял. нет переменной в строке 33 (editfile( $HTTP_POST_VARS["urlpage"], $HTTP_POST_VARS["textfile"] )) но она же есть!

-~{}~ 23.02.05 02:04:

Почему хотя я и передаю через форму переменную она не обявляется?
 

Crazy

Developer
Автор оригинала: Rus
нет переменной в строке 33 (editfile( $HTTP_POST_VARS["urlpage"], $HTTP_POST_VARS["textfile"] )) но она же есть!
Ее нет. С какого бодуна она появится?

Ты свой код, для разнообразия, читать пробовал, если уж ломает вывести содержимое массива $HTTP_POST_VARS (или уж, на трезвую голову, $_POST) ?
 

Rus

Guest
Блин, да редактировал я его. Куски вырезал, вот и не строка не та получилось. Прошу меня за это простить. Значит так, код:
PHP:
<?php



$dir = "/home/script/2/";
 
    if (isset($HTTP_GET_VARS["msg"]) && $HTTP_GET_VARS["msg"] == "edit") 
        editfile( $HTTP_POST_VARS["urlpage"], $HTTP_POST_VARS["textfile"] ); 
         

    if (isset($HTTP_GET_VARS["page"])) 
    { 
    echo "<html><body><center><b>".$dir.$HTTP_GET_VARS["page"]."</b></center>"; 
    echo "<form action=\"e.php?msg=edit\" method=\"post\"> 
        <center><textarea rows=\"35\" cols=\"80\" name=\"textfile\">"; 
     
    $file = file($dir.$HTTP_GET_VARS["page"]);     
    for ($i =0 ; $i < count($file) ; $i++) 
        echo htmlspecialchars($file[$i]); 
             
    echo "</textarea><br><br> 
        <index type=\"hidden\" name=\"urlpage\" value=\"".$dir.$HTTP_GET_VARS["page"]."\"> 
        <input type=\"submit\" value=\"Редактировать\"> 
        </center> 
        </form>"; 
    } 
    else browse(); 
    echo "</body></html>"; 


function browse() 
{ 
echo "<a href=\"e.php?page=index.php\">index.php</a><br>"; 
echo "<a href=\"e.php?page=guest.php\">guest.php</a><br>"; 
echo "<a href=\"e.php?page=news.php\">news.php</a><br>"; 
} 


function editfile( $page, $file ) 
{ 
$save = fopen($page, "w"); 
fwrite($save, $file); 
fclose($save); 
} 

?>
Сообщение об ошибке:

Notice: Undefined index: urlpage in /home/script/2/xdir/e.php on line 7

Warning: fwrite(): supplied argument is not a valid stream resource in /home/script/2/xdir/e.php on line 41

Warning: fclose(): supplied argument is not a valid stream resource in /home/script/2/xdir/e.php on line 42

Это я получаю при попытке редактирования файла

-~{}~ 23.02.05 10:17:

Блин, дурак

-~{}~ 23.02.05 10:18:

<index type=\"hidden\" name=\"urlpage\" value=\"".$dir.$HTTP_GET_VARS["page"]."\"> - в этом проблема. А я столько мучался. Закрывайте тему

-~{}~ 23.02.05 10:20:

Столько на эту строку смотрел и не заметил, блин. Вот такие бывают ошибки
 
Сверху