Оценить:
 Рейтинг: 0

PHP. Разработка модуля комментариев для сайта

Год написания книги
2021
Теги
<< 1 ... 14 15 16 17 18 19 20 21 22 ... 78 >>
На страницу:
18 из 78
Настройки чтения
Размер шрифта
Высота строк
Поля

echo $e->getMessage();

echo $e->getLine();

exit('Ошибка поиска прав пользователя');

}

$row = $s->fetch();

if ($row[0] > 0)

{

return TRUE;

}

else

{

return FALSE;

}

}

}

/* Определяем id пользователя */

function userId() {

if (isset($_SESSION['login'])) {

try {

include $_SERVER['DOCUMENT_ROOT'].'/dsn.php';

$sql = 'SELECT id FROM users WHERE login = :login';

$s = $dsn->prepare($sql);

$s->bindValue(':login',$_SESSION['login']);

$s->execute();

$rowid=$s->fetch();

$_SESSION['userid'] = $rowid['id'];

}

catch (PDOException $e) {

echo $e->getMessage();

echo $e->getLine();

exit('Ошибка добавления пользователя');

}

}

}

Файл содержит функции для проверки данных пользователя.

Функция userIsLoggedIn()проверяет наличие и правильность данных переданных формой авторизации, активациию пользователя. В зависимости от результатов проверки этих данных устанавливает или уничтожает значения переменных сессии $_SESSION. Возвращает «true» или «false».

Для активации пользователя используется $activation. Пользователь считается активированным, если $activation = 1. Проверяем запросом к БД для указанного логина.

Функция databaseContainsAuthor() проверяет наличие в БД пользователя с переданной парой логин – пароль. Если пользователь существует возвращает «true» если нет «false».

Функция userHasRole($role)определяет уровень пользователя: «admin» или «user». В качестве параметра передается значение $role. Если $role равна значению «id» таблицы «role» установленному для данного логина при авторизации, то возвращает значение «true» иначе «false».

Функция userId() определяет «id» пользователя. Устанавливает значение переменной сессии $_SESSION['userid'].

9.1.3 Форма авторизации

Форма авторизации «form_login.php» служит для ввода логина и пароля пользователя.

Листинг 14. form_login.php Путь: /news/chat/admin/ form_login.php

<?php include_once $_SERVER['DOCUMENT_ROOT'].'/chat/admin/clean.php'; ?>

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="utf-8">

<link rel="stylesheet" type="text/css" href="/chat/style.css" />

<title>Авторизация</title>
<< 1 ... 14 15 16 17 18 19 20 21 22 ... 78 >>
На страницу:
18 из 78