Невидны переменные в инклудах

  • Автор темы Семен Семеныч
  • Дата начала
Статус
В этой теме нельзя размещать новые ответы.

Семен Семеныч

Guest
Невидны переменные в инклудах

Почему неработает такой код?

<?
$a='test';
include("script.php");
?>

script.php:
<?
echo $a;
?>

Как сделать чтобы во втором скрипте была доступна переменная $a?
 

sage

Новичок
работает, ещё как работает. код верный. проверь путь до script.php
 

DiTHER

bang bang
правда скорее наоборот. Не $a доступна во втором скрипте - а второй скрипт целиком вставляется в первый. Посему проверь наводку sage и включи error_reporting ;)
 

Фанат

oncle terrible
Команда форума
Почему неработает такой код?
потому, что ты нам врёшь, и такого кода у тебя нет - ты его прямо в форуме накропал.

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

Семен Семеныч

Guest
Причем тут путь? Они в одной директории лежат. Если бы script.php неинкулудился или ненаходился то вылетала бы ошибка. Использовать полные пути '/home/user/domain...' нехочу потому что скоро переезжать на новый сервер, и менять потом пути на новые замучаюсь просто. Кому интересно вот мой код:

<?

$domain='mydomain.com';

$r_host=trim($_SERVER["HTTP_HOST"]);
$r_uri=trim($_SERVER["REQUEST_URI"]);

$r_uri=str_replace('/','',$r_uri);

if($r_uri=='robots.txt'){
echo '';
exit;
}

$r_uri=str_replace('index.html','',$r_uri);
$r_uri=str_replace('index.htm','',$r_uri);
$r_uri=str_replace('index.php','',$r_uri);
$r_uri=str_replace('/','',$r_uri);
$r_uri=str_replace('.html','',$r_uri);
$r_uri=str_replace('.htm','',$r_uri);
$r_uri=str_replace('.','',$r_uri);

$r_host=str_replace("$domain",'',$r_host);
$r_host=str_replace('www','',$r_host);
$r_host=str_replace('.','',$r_host);

if($r_host==''){
if($r_uri==''){
include("main/index.php");
exit;
}else{
$fname="main/$r_uri.php";
if(file_exists($fname)){
include("main/$r_uri.php");
exit;
}
}
}

include("subdomains.php");
if(in_array($r_host,$subdomains_array)){
if($r_uri==''){
include("subs/$r_host/index.php");
exit;
}else{
$fname="subs/$r_host/$r_uri.php";
if(file_exists($fname)){
include("subs/$r_host/$r_uri.php");
exit;
}
}
}

include("404/index.php");

?>

например в последнем случае когда доходит до никлуда include("404/index.php"); то он запускаеться и даже выводит "это я инклуд 404", но например $r_host невидит.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху