Есть ошибка в условии?

Vanich
На сайте с 10.07.2007
Offline
165
467

Чего-то не пойму, в Денвере работает, на сервере нет. Есть ошибка?

<?

$reclama=rand(1,2);

switch ($reclama)

{

case 1:include($_SERVER['DOCUMENT_ROOT'].'/includes/begun.php'); break;

case 2:include($_SERVER['DOCUMENT_ROOT'].'/includes/yandex2.php'); break;

}

?>

Онлайн-консультант для юридических, медицинских, компьютерных, туристических сайтов. Удобно пользователю, прибыльно вебмастеру. (http://webmasters.leadia.ru/?ref=bIoqZIaath) MONKEYWRITE ТЕПЕРЬ БЕСПЛАТНО (https://yadi.sk/d/Hd9mbvyzeMMfp)
Skom
На сайте с 02.12.2006
Offline
165
#1

У меня работает.

Cras amet qui numquam amavit quique amavit cras amet
I
На сайте с 29.04.2006
Offline
135
#2

Ошибок в условии нет.

a.fatman
На сайте с 15.01.2006
Offline
127
#3

Возможно, на сервере сайт находиится не в $_SERVER['DOCUMENT_ROOT'].

Лунный Кот
На сайте с 27.01.2006
Offline
222
#4

Попробуйте поставить путь явно, без $_SERVER['DOCUMENT_ROOT']

Вы мне свои достижения жизненные продемонстируйте, пожалуйста, я, возможно, возьму свои слова обратно и извинюсь прилюдно. Только думается мне, что вы банальный лась. (с) Mirson
N
На сайте с 15.08.2007
Offline
5
#5

Вообще, код с виду корректный, но есть два "но":

Первое, как уже сказали, непонятка с $_SERVER['DOCUMENT_ROOT']. Очень может быть, что по получившемуся пути просто нет файла. Попробуйте добавить в начало скрипта вот такие строки:

error_reporting(E_ALL);
ini_set('display_errors', true);

и посмотреть, вывалилось какое-нибудь предупреждение о несуществующих файлах или нет. Если ошибки нет, то, возможно, ответ кроется в причине №2?

Второе: смущает открывающий тег <?: дело в том, что в зависимости от настроек (конкретнее - от директивы short_open_tags в php.ini) PHP может не считать тег <? началом обработки скрипта. Попробуйте записать открывающий тег PHP целиком: <?php (впрочем, на виртуальных хостингах обычно позволяют пользоваться краткой формой. Для совместимости).

DU
На сайте с 20.10.2006
Offline
105
#6

Может в Инклуде ошибка? А что сервер то отвечает?

PB
На сайте с 05.04.2006
Offline
51
#7

Vanich,

phpinfo() сервера в студию.

Сайт находится в разработке. (http://www.e-anatomy.ru)
Коля Дубр
На сайте с 02.03.2005
Offline
153
#8

Vanich, ну так включите error_reporting, и посмотрите, на что ругается.

Оффтоп. Для таких вещей городить огород в виде switch-конструкции - не красиво. Я бы написал так:


include($_SERVER['DOCUMENT_ROOT'].'/includes/'.( rand(1,2) == 1 ? 'begun' : 'yandex2') . '.php');

Но это если у Вас заведомо 2 варианта и не больше. Если больше - надо уже думать за логику, и формировать имеющиеся варианты в структуру и писать соотв. метод, а не плодить дублирующий код в case'ах.

Разрабатываю общую шину (http://habrahabr.ru/company/floxim/blog/268467/) помаленьку. ...а еще у меня есть бложек (http://www.blogovo.ru/).

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий