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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запутался в видимости переменных 
:(
    Опции темы
Gold Dragon
Дата 20.1.2006, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

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



что-то мне позвращает пустое значение, что делаю нитак?

вот упрощённый код
Код

function f_login($pasw){
    global $password;
        $_SESSION['pasw']=$pasw;
        $password = $pasw;
}

f_login($pasw);

if ($_SESSION['pasw']==$password){
    echo "Да";
}else{echo 'Нет';
        unset($_SESSION['pasw']);
}




--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 20.1.2006, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


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

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



Код
    global $password;

function f_login($pasw){
    global $password;
        $_SESSION['pasw']=$pasw;
        $password = $pasw;
}
f_login($pasw);
if ($_SESSION['pasw']==$password){
    echo "Да";
}else{echo 'Нет';
        unset($_SESSION['pasw']);
}

PM ICQ   Вверх
Gold Dragon
Дата 20.1.2006, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

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



что-то не получается ничего... Вот креплю своё творение (ногами не бить, только учусь)


Присоединённый файл ( Кол-во скачиваний: 6 )
Присоединённый файл  www.zip 2,91 Kb


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
-=Ustas=-
Дата 20.1.2006, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


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

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



Gold Dragon, я что-то вообще там невижу никакой логики. У тебя переменной password присваивается значение внизу скрипта, а сверка происходит еще до этого присваивания. Да и вообще, нельзя так делать - логин и пароль передаются в ГЕТ-параметрах открытым текстом!!! Делай авторизацию ПОСТ-методом, и немного логики добавь smile


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
S.A.P.
Дата 20.1.2006, 22:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(Gold Dragon @ 20.1.2006, 12:53 Найти цитируемый пост)

$_SESSION['pasw']=$pasw;

может у тебя register_globals включен?

Это сообщение отредактировал(а) S.A.P. - 20.1.2006, 22:43
PM MAIL   Вверх
wsr
Дата 20.1.2006, 23:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Fuzzy Logic
*


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

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



переменной $password значеие присваивается внутри функции f_login!
Следовательно нужно вот так :
Код

function f_login($pasw){
    global $password;
        $_SESSION['pasw']=$pasw;
        $password = $pasw;
        return $password;
}

$password = f_login($pasw);

if ($_SESSION['pasw']==$password){
    echo "Да";
}else{echo 'Нет';
        unset($_SESSION['pasw']);
}

--------------------
 ICQ : 918-318Сайт : Lock-Team 
PM MAIL WWW ICQ   Вверх
Gold Dragon
Дата 23.1.2006, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

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



-=Ustas=-
А что там с логикой? При открытие проверяется наличие сессии, если нет, то открывается форма для входа или регистрации. После входа функция устанавливает сессию и в следующий раз при входе должно выполняться условие.

Но тут-то и проблема. У меня $password должна содержать пароль.. Получается в функции я его присвоить не смогу, дуже если переменную объявить глобальной?

wsr
у меня функция уже возвращает другое значение.

PS
насчёт передачи GET`ом сглупил smile
Добавлено @ 13:56
Цитата(S.A.P. @ 20.1.2006, 22:42 Найти цитируемый пост)

может у тебя register_globals включен?
А должно быть включено или отключено?



--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
IZ@TOP
Дата 24.1.2006, 08:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


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

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



Цитата(Gold Dragon @ 23.1.2006, 14:45 Найти цитируемый пост)

должно быть включено или отключено?


Отключено.

Цитата(Gold Dragon @ 23.1.2006, 14:45 Найти цитируемый пост)

А что там с логикой? При открытие проверяется наличие сессии, если нет, то открывается форма для входа или регистрации. После входа функция устанавливает сессию и в следующий раз при входе должно выполняться условие.

Прочти статью по использованию авторизации пользователей, любую. И еще: ни кто пароли в куки не сует, в куку ID сессии, в базу данные о клиенте.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Gold Dragon
Дата 24.1.2006, 08:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

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



Цитата(IZ@TOP @ 24.1.2006, 08:05 Найти цитируемый пост)

Прочти статью по использованию авторизации пользователей, любую. И еще: ни кто пароли в куки не сует, в куку ID сессии, в базу данные о клиенте.
Да читал, даже какая здесь есть, только я ничего не понял. Вернее понял, только так и не смог прилипить на свой пример. Вот и решил что-то самому написать (учиться на же). А я с куками и не работаю вроде..



--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
IZ@TOP
Дата 24.1.2006, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


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

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



Gold Dragon, ах, да... в сессии. В общем то в любом случае пароль в сессии не так уж важен, так как в любом случае если проверять, то проверять параметры с какими пользователь авторизовывался, это в первую очередь юраузер, и прочие параметры которые клиент передает при подключении (можно привязать к IP). А если ты хранишь данные в сесси, то это в любом случае обходится - воруем идентификатор сессии и заходим с ним к тебе на сайт.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Gold Dragon
Дата 24.1.2006, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

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



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

вот создал тему по авторизации, все условия здесь
http://forum.vingrad.ru/index.php?act=ST&a...09&unread=1


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

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

Важно:

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

Внимание:

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

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

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


 




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


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

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