Adatum
Янв
21
2013

Авторизация на сессиях PHP и Sqlite

ExpandingOverlay

Демо Скачать

1. Файлы

users.sqlite — База данных Sqlite с данными о пользоватиле
password.php — служит для смены логина и пароля пользователя
main.php — Пример Закрытой страницы
logout.php — служит для выхода из системы
index.php — Форма входа
pas.php — Форма смены логина и пароля пользователя
secure.php — служит для проверки авторизации на других страницах
checklogin.php — служит для проверки логина и пароля

2. Авторизация и вход пользователей

Для начала создадим форму, передачи логина и пароля.Файл index.php.


<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<head>
<title>Adatum project</title>
</head>
</body>

<form action="checklogin.php" method="post">
Login<input id="user" name="user" value="admin" type="text">
Password<input id="pass" name="pass" type="password"></p> 
Пароль по умолчанию: </b>111</p>
<a class="command"><button>Вход</button> </a>
</form>
<p><a href="logout.php">Выйти</a></p> 
<p><a href="phpliteadmin.php">Phpliteadmin</a></p> 
<p><a href="main.php">Закрытая страница</a></p> 


</body>
</html>

После ввода пользователем данных, мы проверяем его логин и пароль.
Будем ставнивать хеш введённого пароля с тем, что хранится у нас в базе.Файл checklogin.php.


<?php
session_start();
$user = $_POST['user'];
$pass = $_POST['pass'];
$hashpass = md5($pass);
$db = new PDO('sqlite:users.sqlite');
$result = $db->query("SELECT COUNT(*) AS count FROM users WHERE username = '$user' 
AND password = '$hashpass'");
if ($result->fetchColumn() > 0) { $_SESSION['loggedin'] = true; header("Location: 
main.php");}
else header("Location: index.php");
?>


3. Кто авторизован, а кто нет?

Проверяем пользователей если у пользователя указан $_SESSION[‘loggedin’] он авторизован иначе нет.Файл secure.php.


<?php 
session_start();
if(!$_SESSION['loggedin']){ header("Location: index.php");exit;}; 
?>

Похожие статьи

Оставить комментарий

*