
02.05.2006, 19:05
|
|
Познавший АНТИЧАТ
Регистрация: 26.11.2004
Сообщений: 1,149
Провел на форуме: 941818
Репутация:
569
|
|
А не проще ли?
PHP код:
<?
if(isset($auth)){unset($auth);}
session_start();
session_register('auth');
if(!isset($auth['login'])){
if(isset($login) && isset($password) && ($login!='' && $password!='')){
/* Проверка правильности логина и пароля. Если верно - то пишем в $auth['login'] и $auth['status'] значения из БД, иначе пишем опять же $auth['login']='quest'; $auth['status']='1';*/
}else{
$auth['login']='quest';
$auth['status']='1';
}
}
print_r($auth);
?>
<!-- форма авторизации -->
А насчет твоей проблемы.... смотри
PHP код:
if (isset($HTTP_SESSION_VARS['im_login']) && $HTTP_SESSION_VARS['im_login'] == 1)
{
setcookie("userstatus", $HTTP_SESSION_VARS['userstatus']);
setcookie("username", $HTTP_SESSION_VARS['username']);
}
Вот ты пишешь куки. А выводишь их на страницу с помощью переменных типа $_COOKIE, которые являются переменными окружения PHP и генерятся не каждый раз при обращении к setcookie() а при каждом запуске php или mod_php в апаче. Т.е. грубо говоря после рефреша страницы. Решение достаточно простое:
PHP код:
if (isset($HTTP_SESSION_VARS['im_login']) && $HTTP_SESSION_VARS['im_login'] == 1)
{
setcookie("userstatus", $HTTP_SESSION_VARS['userstatus']);
setcookie("username", $HTTP_SESSION_VARS['username']);
$HTTP_COOKIE_VARS['username']=$HTTP_SESSION_VARS['username'];
$HTTP_COOKIE_VARS['userstatus']=$HTTP_SESSION_VARS['userstatus'];
}
Но авторизация у тебя ну очень навинчиная, можно все ГОРАЗДО проще, понятнее и эффективнее. Хотя дело твое
|
|
|