PEAR-Auth: сохранение дополнительной информации в $_SESSION

bwana_php

Новичок
PEAR-Auth: сохранение дополнительной информации в $_SESSION

Если используешь PEAR-Auth как можно добавить дополнительную информацию в $_SESSION, например user's name, email, acess level, etc.
 

bwana_php

Новичок
Что бы каждый раз не делать запрос к базе данных когда требуется данная информация. access_level определяет к каким частям сайта пользователь имеет доступ. Если не сохранить его в $_SESSION придется каждый раз делать запрос к базе данных а требуется он очень часто. Так что может кто имел опыт работы или знает где можно скачать пример скрипта?
 

Фанат

oncle terrible
Команда форума
Сайт, видимо, тормозит очень сильно, если доставать этот параметр из базы?
А больше ничего из базы на странице не требуется? только уровень доступа?
 

bwana_php

Новичок
Еще user's name, email. Сайт написан без использования PEAR-Auth - задача заключается в том что бы переделать его с использованием PEAR-Auth.
 

bwana_php

Новичок
Сайт сделан с использование сессии:

Код:
if (isset($_POST['user']) && isset($_POST['pass'])) {
  $user = addslashes($_POST['user']);
  $q = $db_conn->query(
                     "SELECT username, pass, first_name, last_name, access_level, email ".
                     "FROM users ".
                     "WHERE username = $user AND active = true ".
                     "LIMIT 1");
  if ($q->numRows() == 1) {
    $pass = crypt($_POST['user'], SITE_CRYPT);
    $user = $q->fetchRow(MDB2_FETCHMODE_ASSOC, 0);
    if ($user['pass'] == $pass) {
      $_SESSION['club_username'] = $user['username'];
      $_SESSION['club_name'] = $user['first_name']." ".$user['last_name'];
      $_SESSION['club_email'] = $user['email'];
      $_SESSION['club_acl'] = $user['access_level'];

      $msg = "Access Granted. Jambo ".$_SESSION['club_name'];
      $db_conn->exec(
                         "UPDATE users SET last_login = now() ".
                         "WHERE username = '".$_SESSION['username']."'");
    } else {
      $msg = "Password Incorrect. Access Denied.";
    }
  } else {
    $msg = "User doesn't exist. Access Denied.";
  }
}
Вопрос в том как все это переделать с использованием PEAR-Auth.
 

bwana_php

Новичок
В общем проблемы никакой нет. PEAR-Auth открывает сессию при входе пользователя. Достаточно только добавить в нее необходимые переменные. Данные сохраняемые PEAR-Auth находятся внутри $_SESSION в массиве.
 
Сверху