{% else-1 %}
(22 май 2013, 13:11) (0/0) [0]
Код модерировать не хотят... Скидываю сюда:
<?php
ob_start();
session_start(); // Стартуем сессию
$user = array(\'nick\' => \'Admin\', \'pass\' => \'123456\'); // Массив с данными пользователя. Для своих целей вы можете использовать базу данных.
/* Урок по созданию авторизации по COOKIE */

/* Этап 1:
Для начала создаем форму авторизации. Где мы вводим логин и пароль. Так же установим checkbox с функцией под названием \"Запомнить меня\".
Код будет следующий:
*/
echo \'<form acrion=\"#\" method=\"POST\">
Введите логин:<br /><input type=\"text\" name=\"nick\" /><br />
Введите пароль:<br /><input type=\"password\" name=\"pass\" /><br />
<input type=\"checkbox\" name=\"cookie\" value=\"1\" /> Запомнить меня<br />
<input type=\"submit\" name=\"send\" value=\"Авторизоваться\" />
\';

/* Этап 2:
После того, как была нажата кнопка \"Авторизоваться\", будет выполняться следующий код: */
if (!empty($_POST[\'send\'])) { // Проверяем, нажата ли кнопка
if ($_POST[\'nick\'] == $user[\'nick\'] && $_POST[\'pass\'] == $user[\'pass\']) { // Проверяем на правильность введаенных данных
/* Если данные введены верно, то: */
$_SESSION[\'nick\'] = $user[\'nick\']; // Запоминаем ник

/* Если к тому же установлена галочка \"Запомнить меня\", то записывем введенные данные в COOKIE */
if (!empty($_POST[\'cookie\'])) {
setcookie(\"nick\", $_POST[\'nick\'], time()+999999);
setcookie(\"pass\", $_POST[\'pass\'], time()+999999);
}

echo \'Авторизация прошла успешно!\';
} else {
echo \'Авторизация провалена!\';
}
}

/* Этап 3:
После успешной авторизации, у нас внизу должен высветится ник, под которым мы сообственно и авторизовались. Ник будем считывается из массива SESSION
*/
if (!empty($_SESSION[\'nick\'])) { // Проверяем, есть ли в сессиях ник
/* Если есть, то выводим */
echo $_SESSION[\'nick\'] . \' <a href=\"?exit\">[Выход]</a>\';
} else {
/* Если же нет ника в сессиях, то ищем данные в куках */
if (!empty($_COOKIE[\'nick\']) && !empty($_COOKIE[\'pass\'])) {
/* Если куки сущетствуют, то проверяем данные... Так же как и в авторизации */
if ($_COOKIE[\'nick\'] == $user[\'nick\'] && $_COOKIE[\'pass\'] == $user[\'pass\']) { // Проверяем на правильность введаенных данных
/* Если данные введены верно, то: */
$_SESSION[\'nick\'] = $user[\'nick\']; // Запоминаем ник
echo \'Авторизация по кукам прошла успешно!\';
} else {
echo \'Авторизация провалена!\';
}
}
}

/* И функция выхода */
if (isset($_GET[\'exit\'])) {
unset($_SESSION[\'nick\']); // Уничтожаем сессию

/* Уничтожаем куки */
setcookie(\"nick\", \"\", time() - 30);
setcookie(\"pass\", \"\", time() - 30);
echo \'Пока)\';

}
?>
(22 май 2013, 12:33) (0/0) [0]
kubodtj, Через минут 15 напишу.
(22 май 2013, 12:08) (0/0) [0]
Авторизацию по COOKIE имеешь ввиду?
  • 1 из 1