{% else-1 %}
Урок достаточно сложный для новичков. Старалась все детально объяснить в комментариях.

                        
<?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 'Пока)';

}
?>
9 48 0
0

Нет фото
TheMs * 0.12
• 26 авг 2014, 01:21


На самом деле очень простой и понятный код,спасибо *

0

Нет фото
Hatsune Miku * [мошенник] 22.23
• 23 янв 2014, 14:29


Анна, ну сними меня с игнора пожалуйста я больше не буду плохим мальчиком * На форуме одни нубы ни че не знают *