Конкатенация...

Алика

Guest
Конкатенация...

Ребята, помогите!

Есть некоторая системка для подправления файлов (в одном файле: edit_file.php). Код тут .
Есть другой файл. Вот такой.
PHP:
<HTML>
<HEAD><TITLE>Корректировка</TITLE>
</HEAD>
<BODY bgcolor="#FFFFEE">
<table width=610 border=0 cellspacing=0 cellpadding=0 bgcolor=black ><tr><td><table width=610 border=0 cellspacing="1" cellpadding=1>
<tr><th bgcolor=#FEF0CD align=left>
<div id=mydiv><font size='-1' face='Verdana, Arial'><b>&nbsp;&nbsp;&nbsp;Внесите изменения</b></font></div>
</th></tr>
<tr><td bgcolor=#F9F1D7 align=left>

<TABLE height=90% width=90% align=center valign=middle>
<TR><TD height=100% width=100% align=center valign=middle>
<?
    $id=$_GET["id"];
    $My="../../rus/about.inc";
    require("edit_file.php");
    $ef=new EditFile($My);
    $ef->cols=70;
    $ef->rows=20;
    if (!$ef->Loaded)
    {
        echo "<center>".$ef->ShowForm()."</center>";
    }else
    {
        $ef->FormToFile();
        echo "<p align=center style='font-family: Verdana; font-weight: bold; font-size: 12px;'>Изменения сохранены</p>";
    }
?>
</TD></TR>

</TABLE>
</td></tr></table></td></tr></table><br>
</BODY>
</HTML>
Вся штука в том, что если переменную $My задать жестко, то есть написать:
PHP:
$My="../../rus/about.inc";
- все работает (для файла about.inc, само собой), а вот если я хочу путь к файлу получать методом GET - ничего не работает. То есть, если я GET'ом передаю значение id (вызываю файл edit.php?id=about), а в самом файле пишу:

PHP:
...
<?
    $id=$_GET["id"];
    $My="../../rus/".$id.".inc";
    require("edit_file.php");
    $ef=new EditFile($My);
    $ef->cols=70;
    $ef->rows=20;
    if (!$ef->Loaded)
    {
        echo "<center>".$ef->ShowForm()."</center>";
    }else
    {
        $ef->FormToFile();
        echo "<p align=center style='font-family: Verdana; font-weight: bold; font-size: 12px;'>Изменения сохранены</p>";
    }
?>
...
- то ничего не работает. Естественно, я проверяла и тип переменных и значение, но в обоих случаях для переменной $My тип string, а значение ../../rus/about.inc (для данного файла), то есть все одинаковое!

Объясните мне пожалуйста, уважаемые гуру, в чем у меня ошибка?

Заранее извиняюсь, если что-то спросила не так...
 

white phoenix

Новичок
На будущее, никогда не говори "ничего не работает", скажи что "алгоритм не выполняет того что я хочу", а также приводи результат выполнения, если есть ошибки, то текст ошибок обязательно.
Итак, под "ничего не работает" ты подразумеваешь что файл показывается, но "сохраняться не хочет". Открой файл edit_file.php и добавь строку:
PHP:
$Result.="<input type=\"hidden\" name=\"id\" value=\"".@htmlspecialchars($_REQUEST['id'])."\">";
после строки:
PHP:
$Result.="<input type=\"hidden\" name=\"".$this->SubmittedName."\" value=\"1\">";
А в "другом файле":
PHP:
$id=$_GET["id"];
замени на
PHP:
$id = $_REQUEST['id'];
А вообще - PHP FAQ: Ничего не работает! Что делать???
Конечно же я увидел ошибку не проводя отладку как таковую, но тебе она не помешает.
 

Алика

Guest
Спасибо! Дело в том, что скрипт все равно пишет, что изменения сохранены, но при этом реально их не сохраняет! Конечно, я не настолько пессимист, чтоб искрене считать, что совсем уж ничего не работает... :)
Спасибо!
 
Сверху