БлогNot. Авторизация через Cookie на PHP

Авторизация через Cookie на PHP

Никогда её не использовал, предпочитая более современную авторизацию через массив $_SESSION (впрочем, тоже требующий включённых cookies), а сейчас вот оказалось лень менять при адаптации скрипта. Оказалось, Cookie надо посылать до всех HTTP-заголовков или же делать перезагрузку страницы после отправки Cookie, то есть, выполнять (в простейшем случае) код вида

if(isset($_POST['admin_login'])) {
 if($_POST['login'] == $settings['admin_name'] and $_POST['pass'] == $settings['admin_pass']) {
  setcookie("admin", "cookie_name"); 
  header('Location: '.$_SERVER['HTTP_REFERER']);
 } 
 else { die ('<center>Ошибка входа. Нажмите кнопку "Назад" в Вашем браузере</center>'); }
}

где $settings - PHP-массив настроек скрипта, $_POST['login'] и $_POST['pass'] - переданные из формы HTML логин и пароль, cookie_name - имя Вашей куки.

В противном случае получите вход только со второго ввода логина или пароля (ну или после обновления страницы клавишей F5).

08.09.2010, 14:48 [10403 просмотра]


теги: программирование памятка php

К этой статье пока нет комментариев, Ваш будет первым