| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Проблема с переменной типа global |
| Автор: Antono 8.12.2008, 10:08 | ||
Добрый день подскажите решение проблемы. Просто SOS!!! есть кусок кода который выдает одно и то же каждый раз, когда проходишь авторизацию:
Вот он выдает последнюю ошибку: Не введен логин или пароль, умом я понимаю что проблема в переменной $login, которая везде прописана как global ... Но млин как это фикснуть? На локалхосте все работает нормально, значит дело в хостинге скорее всего, но вот только что там и где менять? Помогите взываю о помощи. Мне из-за этого уже стоят на тестикулах одной ногой!!! |
| Автор: patap 8.12.2008, 10:18 | ||
попробуй поставаить в начале скрипта:
или обращайся к $login как $_GLOBALS['login'] |
| Автор: Antono 8.12.2008, 10:59 |
| не помогло...а что еще может? |
| Автор: patap 8.12.2008, 11:11 |
| а где у тебя объявляется переменная $login? |
| Автор: bars80080 8.12.2008, 14:29 |
| самое интересное, что не видно где форма замени if ($login) { на if ($_POST['login']) { или если не поможет на if ($_GET['login']) { Добавлено через 43 секунды но без остальных кусков скрипта, конечно, может и не победится |
| Автор: Nikol 8.12.2008, 16:50 | ||
Надо бы побольше кода показаьб. Если это код обработки формы, то надо проверять, как написал bars80080 $_POST['login']. А если ты хочешь где-то на защищенной странице проверить, залогинен ли юзер, тогда не то проверяешь - переменной $login в сессии нет
Так что тогда нужно проверять $name, да и вообще не понятно, зачем проверять переменную, можно просто проверить, запущена сессия или нет. |
| Автор: DenisSh 8.12.2008, 17:05 |
| В php.ini есть такая настройка называемая "register_globals" судя по всему на вашем сервере ей присвоено значение "off" поэтому глобальные переменные в вашем коде работать не будут. Так что либо просите провайдера поставить ей "on" либо что еще лучше не пользуйтесь глобальными переменными. |