PHP в деталях


         

если всё нормально, выбираем данные,


  if (mysql_error())

    die(mysql_error());

  elseif (@mysql_num_rows($user_result) != 1)

    $error = "Неверное имя пользователя или пароль.";

  // если всё нормально, выбираем данные, запускаем сессию

  else {

    $user = mysql_fetch_assoc($user_result);

    session_set_cookie_params(1800, "/");

    session_start();

    // запоминаем данные о пользователе

    session_register("user");

    // и дальше отправляем его куда-нибудь

    if (isset($HTTP_POST_VARS["return"]))

      header("Location: {$HTTP_POST_VARS['return']}");

    else

      header("Location: /");

    exit();

    };

  };

/* здесь пользователь уже не прошёл авторизацию, но может отправить куку из закрытой сессии. очистим её. */

if (isset($HTTP_COOKIE_VARS[session_name()]))

  setcookie(session_name());

// дальше рисуем форму, это неинтересно.

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

/* убиваем переменную user, чтобы нельзя было, нарисовав форму, отправить данные в post-запросе. */

unset($user);

// флаг "ошибка сессии" ? если он включён, работа прекратится.

$session_error = false;

// если не существует куки с идентификатором сессии, поднять флаг

if (!isset($HTTP_COOKIE_VARS[session_name()]))

  $session_error = true;

// если существует, запускаем механизм сессий и регистрируем переменную $user.

else {


Содержание  Назад  Вперед