Страница 1 из 1

switch не работает на хостинге в локальном топ сервере работает нормально

Добавлено: Пт мар 08, 2019 7:11 am
mirchat
добрый день. вот столкнулся с проблемой работы скрипта на хостинге http://mirchat.ru/chats/setup.php не работает switch
вернее работает хорошо в компьютере на локальном топ-сервере и вообще не работает здесь на хостинге. код такой пример

Код: Выделить всё

switch ( $mod )
{
  case "s2" :
    echo "<div class=\"ab\">Настраиваем</div><br/>";
    break;
  case "show" 
    echo "<div class=\"ab\">заливаем бд</div><br/>";
    break;
  default :
    echo "<div class=\"ab\">лицензионное соглашение</div><br/>";
    break;
}
всё работает в компе в топ сервере а на хостинге не работает сразу скажу в htacces

включил глобальные переменные
php_value register_globals on

при этом в адресной строке ссылка меняется а страничка одна и таже

switch не работает на хостинге в локальном топ сервере работает нормально

Добавлено: Пт мар 08, 2019 8:10 am
skyweb
Поройтесь на форуме, тут такие настройки надо делать не в .htaccess а в какой-то ini, я не помню сходу. switch должен работать, все решает значение переменной $mod, её надо проверить, может она всегда равна null

switch не работает на хостинге в локальном топ сервере работает нормально

Добавлено: Пт мар 08, 2019 9:37 am
mirchat
спасибо земляк ща пороюсь по форуму.. жалко скрипт сносить хотелосьбы запустить оч много работы над ним проделал.

switch не работает на хостинге в локальном топ сервере работает нормально

Добавлено: Сб мар 09, 2019 4:25 pm
mirchat
проблемка решена. основной конфликт работы скрипта был с работой хостинга. хостеры запретили нам пользоватся php_flag register_globals
но если подумать можно состряпать эмулятор этой функции. что я и зделал.

Код: Выделить всё

if (!ini_get('register_globals')) {
    $superglobals = array($_SERVER, $_ENV,
        $_FILES, $_COOKIE, $_POST, $_GET);
    if (isset($_SESSION)) {
        array_unshift($superglobals, $_SESSION);
    }
    foreach ($superglobals as $superglobal) {
        extract($superglobal, EXTR_SKIP);
    }
}