parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Проблема с чтением cookies

Immortal 05.06.2003 11:24

Привожу часть кода:
# Класс user
#################
@CLASS
user

# конструктор
@load[]
$sessions[^table::sql{
                       select
                             t_sessions.login,
                             t_sessions.session_id,
                             t_user.user_status,
                             t_user.
                       from
                            t_sessions,
                            t_users
                       where
                            t_sessions.login = 't_users.login'
}]

$sessions_hash[^sessions.hash[session_id]]

#
#
#  Вообще весь код, кроме этой проблемы, работает нормально.
#  Авторизация проходит, как надо.
#  Тут медод проверки юзера, все нормально работет, куки создаются с
#  правильным значением, пишется при успешной авторизации
#  в базу данные новой сессии и т.д. и т.п.
#
#
#


# А вот тут проблема:
Метод должен по значению куки выдавать логин данного юзера юзера
@remote_user[]
^if($cookie.session_id){
$result[$sessions_hash.[$cookie.session_id].login]
}{
Куки отсутствуют!
}

# Коренной auto.p
#################
@USE
user.p
mysql.p

operators.p

@auto[]
$sql_connect[bla-bla-bla]

^sql_connect.server{
$o_user[^user::load[]]
# Глобальная переменная, содержащая логин юзера
$REMOTE_USER[^o_user.remote_user[]]
}

@main[]

^sql_connect.server{
^1st_page[]
}


# Корневой index.html
#####################

@1st_page[]
^if(есть кука.session_id и кука соответствует session_id в базе){
# вызывается оператор @skiner[с названием скина]
# он загружает название_скина.html
^skiner[index]
}{
^logon_screen[]
}
А теперь суть:

на нижеследующей странице должно выводиться содержимое глобальной
переменной $REMOTE_USER,
но не выводится, так как в классе user метод
@remote_user[]
не находит куку!!! Пишет "Куки отсутствуют!"(см. выше)
# название_скина.html
#####################
# содержит след. код:

Логин: $MAIN:REMOTE_USER
<BR/>
P.S.
Если в методе
@remote_user[]
в ручную пишу правильное зачение куки,
(
$result[$sessions_hash.[значение_куки_руками_пишу].login]
)
то
$MAIN:REMOTE_USER
показывает логин юзера