| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Alexander Baluev 08.07.2002 12:05
sessions.p
############
@CLASS
sessions
@start[]
# максимальный временной "зазор" между хитами в минутах после которого сессия закрывается
$session_time_life[15]
$current_session_id(^cookie:session_id.int(0))
^if($current_session_id!=0){
^check_session[] // хотя лучше бы сразу
^if($current_session_info){ // ^if(^check_session[])
^update_session[]
$session_stat[1]
}{
$session_stat[0]
}
}{
^void:sql{
insert
into sessions
set
sessions_ip = '$env:REMOTE_ADDR',
sessions_start = NOW()
}
$cookie:session_id[
$.value[^new_session_id[]]
$.expires[session]
]
}
$result[1]
#end @start[]
@new_session_id[]
$tmp_id[^int:sql{
select
LAST_INSERT_ID()
from
sessions}[$.limit(1) $.default{0}]]
^if($tmp_id!=0){
$result[$tmp_id]
}
#end @new_session_id[]
@check_session[]
$current_session_info[^table::sql{
select
sessions_id,
sessions_ip,
sessions_start,
sessions_refresh
from
sessions
where
sessions_id = '$current_session_id' AND
sessions_ip = '$env:REMOTE_ADDR' AND
sessions_refresh BETWEEN 'NOW()' - INTERVAL $session_time_life MINUTE AND 'NOW()'}]
#end @check_session[]
@update_session[]
^void:sql{
UPDATE
sessions
SET
sessions_refresh = NOW()
WHERE
sessions_id = $current_session_id}
test.html
##########
@USE
sessions.p
@main[]
^MAIN:dbconnect{
$my_session[^sessions::start[]]
^if($my_session.session_stat == 1){Ok}
}Выводит string method not found session_stat z:/t/../test.html(7)И чего же ему надо-то?