[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Скрипт авторизации
Василий
Дайте пожалуйста ссылку на какой нибудь php скрипт (сайта форума-неважно)
главное чтобы был по меньше и там были скрипты регистрации авторизаци пользователей в mysql и бд вводилась вручную с текстового файла
Я хочу его разобрать и разобратся в том как создать авторизацию



Спустя 5 минут, 43 секунды (18.02.2011 - 17:57) Snus написал(а):
users.php
<?php
// Загоняем юзверей в ассоциативный массив,
// Где Ключ - логин, значение - пароль.

$arrUsers = array(
'user1' => 'pass1',
'user2' => 'pass2'
);
?>


index.php
<?php
session_start();
require_once 'users.php';

// Дабы в нескольких частях кода не писать одно и то же
// Выносим простенький код в функцию

function killSess(){
// Обнуляем сессию
$_SESSION['login'] = NULL;
// Рефрешемся
header('Location: '.$_SERVER['PHP_SELF']);
exit;
};

// Если юзверь нажал на EXIT выполняем функцию (та, что выше)
if($_GET['act'] == 'exit') killSess();

// Если сессия зарегистрированна, то объявляем ее в переменную
$sLogin = isset($_SESSION['login']) ? $_SESSION['login'] : NULL;

// Если поля логин и пароль заполнены и нажата кнопка log in
if(!empty($_POST['login']) && !empty($_POST['pass'])){
// Объявляем переменные
$login = $_POST['login']; // логин
$pass = $_POST['pass']; // пароль
// Проверяем есть ли в массиве юзверь с ключом login и сравниваем пароли

if(isset($arrUsers[$login]) && $arrUsers[$login] == $pass){
// Если условия выполнены, регистрируем сессию со значением логина
$_SESSION['login'] = $login;
// Рефрешемся
header('Location: '.$_SERVER['PHP_SELF']);
exit;
} else {
// Если юзверь в массиве отсутствует или пароли не совпадают, кричим об этом.
echo 'Incorrect Password!';
}
}


// Если все-таки сессия зарегистрированна и переменная благополучно объявлена
if(isset($sLogin)){
// На всякий случай сверяемся с текущими показателями массива.
// На случай если юзверя удалили, а сессия у него все еще висит.

if(!isset($arrUsers[$sLogin]) || empty($arrUsers[$sLogin])) killSess();

// Если все бодрячном - выдаем пару несвязанных слов
echo 'Hello, <b>'.$sLogin.'</b>! Your pass is <b>'.$arrUsers[$sLogin].'</b> <a href="?act=exit">EXIT</a>';

// ############## здесь можно инклудить свои странички или писать быдло-код :)

} else {

// А вот в случае, если сессия не зарегистрированна и переменная не объявлена,
// Выдаем форму ввода логина - пароля
// PS: вообще тут можно прописать require 'form.htm';
// А в form.htm закинуть свою форму ввода логина - пароля


echo '<form action="" method="post">';
echo '<table border="1">';
echo '<tr>';
echo '<td><input type="text" name="login"></td>';
echo '</tr>';
echo '<tr>';
echo '<td><input type="password" name="pass"></td>';
echo '</tr>';
echo '<tr>';
echo '<td><input type="submit" value="log in"></td>';
echo '</tr>';
echo '</table>';
echo '</form>';

}

?>

Спустя 16 минут, 31 секунда (18.02.2011 - 18:13) Invis1ble написал(а):
Василий
ВОТ

Спустя 26 минут, 31 секунда (18.02.2011 - 18:40) Snus написал(а):
Василий
Ах да... и не забываем подписать //Author Snus

Спустя 6 минут, 58 секунд (18.02.2011 - 18:47) Invis1ble написал(а):
Snus
Цитата
не забываем подписать //Author Snus

какие мы честолюбивые biggrin.gif

Спустя 4 часа, 33 минуты, 36 секунд (18.02.2011 - 23:20) Snus написал(а):
Invis1ble
Ну а то. Ему жизнь не испортит - а мне приятно smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.