|
|
|
| Добрый день!
есть такой код
<?php
$test='TEST';
include ("other.php");
?>
файл other.php такой
<?php
echo ($test);
?>
Ничего не выводит.
Как мне добиться передачи этой переменной в код, подключаемый таким образом?
Спасибо! | |
|
|
|
|
|
|
|
для: Sergmust
(26.10.2006 в 19:00)
| | ну во первых, не echo ($test);, а echo "$test"; (вы забыли кавычки), а во вторых, я понмю на каком-то форуме уже спрашивали тако (давно), так пользователь загружал other.php, а не файл в котором он инклюдится... | |
|
|
|
|
|
|
|
для: DEM
(26.10.2006 в 19:03)
| | >ну во первых, не echo ($test);, а echo "$test"; (вы забыли кавычки),
Во первых echo ($test) будет работать, если есть что-нибудь в $test . :-)
> а во вторых, я понмю на каком-то форуме уже спрашивали тако (давно), так пользователь загружал other.php, а не файл в котором он инклюдится...
а из этого я ничего не понял...
Может я путано обьяснил
Не выводит ничего на экран код
<?php
$test='TEST';
include ("other.php");
?> | |
|
|
|
|
|
|
|
для: Sergmust
(26.10.2006 в 19:13)
| | Напиши свою функиция если дела совсем плохи...
А чё ты хочешь сделать? | |
|
|
|
|
|
|
|
для: Alph[p]a
(26.10.2006 в 19:31)
| | если выключены register_globals в php.ini, то просто по имени нельзя вызывать переменную.
ее надо сделать глобальной $GLOBALS["test"] или сохранять ее в сессиях (механизм сессий
специально придуман для передачи переменных между файлами) или в куках, что может не
сработать, если у юзера они отключены или (сейчас в меня полетят тухлые помидоры) -
"включить" выключенные register_globals (а на серверах они частенько выключаются из
соображений безопасности) поставив вот это в конфигурационный файл:
у меня, кстати, вывелось TEST. и без этих ухищрений. по идее, файл, подключаемый
include' ом, просто в виде текста записывается в место, где стоит include. пэтому и
не нужны никакие сессии, куки и глобальные переменные.
### register_globals = off ### +++
//HTTP_GET_VARS
while (list($key, $val) = @each($_GET)) {
$GLOBALS[$key] = $val;
}
//HTTP_POST_VARS
while (list($key, $val) = @each($_POST)) {
$GLOBALS[$key] = $val;
}
//HTTP_POST_FILES
while (list($key, $val) = @each($_FILES)) {
$GLOBALS[$key] = $val;
}
//$HTTP_SESSION_VARS
while (list($key, $val) = @each($_SESSION)) {
$GLOBALS[$key] = $val;
}
### register_globals = off ### ---
|
почему у вас не работает, непонятно. а PHP стоит? проверяли? | |
|
|
|
|
|
|
|
для: elenaki
(26.10.2006 в 20:23)
| | Точно... Совсем стыдно... На моем хосте все заработало.. а там действительно register_globals = off было... Может еще какие камушки, завтра разберусь. А я уже совсем расстроился...
А нужно, чтобы в зависимости от внешнего условия запускать одну или другю часть включаемого кода. Все из-за роботов этих самых нехороших...
Спасибо большое! | |
|
|
|
|
|
|
|
для: elenaki
(26.10.2006 в 20:23)
| | Да , дело было именно в переменной.
Вот неожиданно...
Включил, больше ничего не менял - пошло.
Значит она для включаемого текста является глобальной. | |
|
|
|
|
|
|
|
для: Sergmust
(26.10.2006 в 22:06)
| | Фенька вот какая
Если пишу
<?php
$test='TEST';
include ("other.php");
?>
то работает
а если
<?php
$test='TEST';
include ("http://mysite/other.php");
?>
то код исполняется, а переменная не передается...
спасите... | |
|
|
|
|
|
|
|
для: Sergmust
(26.10.2006 в 22:41)
| | Полезно бывает и поспать:-)
Когда включение происходит по абсолютному пути, то включается не ИСХДНЫЙ код, а его РЕЗУЛЬТАТ. | |
|
|
|