Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с переменной типа global 
:(
    Опции темы
Antono
  Дата 8.12.2008, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 8.12.2008

Репутация: нет
Всего: нет



Добрый день подскажите решение проблемы. Просто SOS!!! есть кусок кода который выдает одно и то же каждый раз, когда проходишь авторизацию:
Код


if ($login) {
    dead();
    chk(); 
    session_start();
    $mass = file($filename);
    for ($i = 0; $i < count($mass); $i++) {
        $newmass = explode("|", $mass[$i]);
        if ($login == $newmass[0]) {
            $st = $newmass[4];
            $color = $newmass[6];
            $host = $newmass[10];
            $tvoipol = $newmass[3];
            $intop = $newmass[13];
            break;
        }
    }
    session_register('name', 'status', 'col', 'refresh', 'ipnow', 'sob', 'gender', 'top');
    $name = $login;
    $status = $st;
    $col = $color;
    $refresh = $l_obn;
    $ipnow = $host;
    $sob = $l_soob;
    $gender = $tvoipol;
    $top = $intop;
    chat();
} else {
        echo "<center><b><font face=Arial color=#FF0000 size=3>Не введен логин или пароль!</font></b><center>"; 
        exit();
    }


Вот он выдает последнюю ошибку: Не введен логин или пароль, умом я понимаю что проблема в переменной $login, которая везде прописана как global ... Но млин как это фикснуть? На локалхосте все работает нормально, значит дело в хостинге скорее всего, но вот только что там и где менять? Помогите взываю о помощи. Мне из-за этого уже стоят на тестикулах одной ногой!!!

Это сообщение отредактировал(а) skyboy - 8.12.2008, 12:48
PM MAIL   Вверх
patap
Дата 8.12.2008, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 893
Регистрация: 7.5.2005
Где: Украина, Зп

Репутация: 26
Всего: 40



попробуй поставаить в начале скрипта:
Код

 global $login;


или обращайся к $login как $_GLOBALS['login']

Это сообщение отредактировал(а) patap - 8.12.2008, 10:26


--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
Antono
Дата 8.12.2008, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 8.12.2008

Репутация: нет
Всего: нет



не помогло...а что еще может?
PM MAIL   Вверх
patap
Дата 8.12.2008, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 893
Регистрация: 7.5.2005
Где: Украина, Зп

Репутация: 26
Всего: 40



а где у тебя объявляется переменная $login?


--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
bars80080
Дата 8.12.2008, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



самое интересное, что не видно где форма

замени if ($login) {
на if ($_POST['login']) {
или если не поможет на if ($_GET['login']) {

Добавлено через 43 секунды
но без остальных кусков скрипта, конечно, может и не победится
PM MAIL WWW   Вверх
Nikol
Дата 8.12.2008, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 123
Регистрация: 5.4.2006
Где: Берег Черного мор я

Репутация: 2
Всего: 4



Надо бы побольше кода показаьб. Если это код обработки формы, то надо проверять, как написал bars80080 $_POST['login']. А если ты хочешь где-то на защищенной странице проверить, залогинен ли юзер, тогда не то проверяешь - переменной $login в сессии нет
Код

session_register('name', 'status', 'col', 'refresh', 'ipnow', 'sob', 'gender', 'top');


Так что тогда нужно проверять $name, да и вообще не понятно, зачем проверять переменную, можно просто проверить, запущена сессия или нет.

--------------------
Я не волшебник, я только учусь.
PM MAIL WWW ICQ   Вверх
DenisSh
Дата 8.12.2008, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 16.9.2008
Где: Taganrog

Репутация: 1
Всего: 2



В php.ini есть такая настройка называемая "register_globals" судя по всему на вашем сервере ей присвоено значение "off" поэтому глобальные переменные в вашем коде работать не будут. Так что либо просите провайдера поставить ей "on" либо что еще лучше не пользуйтесь глобальными переменными.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0856 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.