Файл: Разработка сайта «Я помогаю детям» (Техническое задание и выбор средств реализации).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 15.05.2023

Просмотров: 135

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

<a href="about.php">О нас</a>

<a href="forum.php">Форум</a>

<a href="contacts.php">Контакты</a>

<a href="admin/login.php" class="btn">Войти</a>

<a href="admin/logout.php" class="btn2">Выйти</a>

</div>

</div>

Footer.php

<div class="footer">

<p>Все права защищены © Егор Первушин / МФПУ "УНИВЕРСИТЕТ" 2019</p>

</div>

Forum.php

<!DOCTYPE html>

<html lang="ru">

<head>

<meta charset="UTF-8">

<title>Курсовая работа ВБИо-302 | Первушин Егор</title>

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

<link rel="shortcut icon" href="/img/favicon.ico">

</head>

<body>

<?php include "header.php";?>

<div class="content">

<div class="home">

<div class="column main">

<h2>Форум</h2>

<?php

// Соединямся с БД

include "admin/settings.php";

// Читаем и выводим информацию из БД а именно таблицы users и столбца user_login

$sql = mysqli_query($link, 'SELECT `user_name`,`user_content` FROM `forum`');

while ($result = mysqli_fetch_array($sql)) {

echo "<div class=\"post\"><h5 class=\"user-name\">{$result['user_name']}</h5><p>{$result['user_content']}</p></div>";

}

?>

<div class="make-post">

<h2>Отправить сообщение:</h2>

<?php

include "settings.php";

//УЗНАЁМ ТЕКЩЕГО ПОЛЬЗОВАТЕЛЯ!!!

$sql = mysqli_query($link, "SELECT user_login FROM users WHERE user_hash= '".$_COOKIE['hash']."' ");

while ($result = mysqli_fetch_array($sql)) {

$username = $result['user_login'];

}

?>

<?php

// Соединямся с БД

include "admin/settings.php";

// Вносим информацию из формы БД а именно таблицы about_cont и столбца content

$text = $_POST['text'];

if ($text != '') {

mysqli_query($link,"INSERT INTO forum SET user_content='$text', user_name='$username'");

header("Refresh: 0");

}

?>

<form method="POST">

<textarea name="text" id="postarea" required></textarea>

<br>

<input name="submit" type="submit" value="Отправить">

</form>

</div>

</div>

<div class="column sidebar">

<?php include "sidebar.php";?>

</div>

</div>

</div>

<?php include "footer.php";?>

</body>

</html>

Login.php

<?php

include "settings.php";

//УЗНАЁМ ТЕКЩЕГО ПОЛЬЗОВАТЕЛЯ!!!

$sql = mysqli_query($link, "SELECT user_login FROM users WHERE user_hash= '".$_COOKIE['hash']."' ");

while ($result = mysqli_fetch_array($sql)) {

$username = $result['user_login'];

}

//ЕСЛИ ПОЛЬЗОВАТЕЛЬ НЕ АДМИН КИДАЕМ НА ГЛАВНУЮ

if ($username == 'admin') {

header("Location: admin.php"); exit();

}

?>

<!DOCTYPE html>

<html lang="ru">

<head>

<meta charset="utf-8">

<title>Авторизация</title>

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

</head>

<body style="text-align: center;">

<?php

// Страница авторизации

// Функция для генерации случайной строки

function generateCode($length=6) {

$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHI JKLMNOPRQSTUVWXYZ0123456789";

$code = "";

$clen = strlen($chars) - 1;

while (strlen($code) < $length) {

$code .= $chars[mt_rand(0,$clen)];

}

return $code;

}

// Соединямся с БД


include "settings.php";

if(isset($_POST['submit']))

{

// Вытаскиваем из БД запись, у которой логин равняеться введенному

$query = mysqli_query($link,"SELECT user_id, user_password FROM users WHERE user_login='".mysqli_real_escape_string($link,$_POST['login'])."' LIMIT 1");

$data = mysqli_fetch_assoc($query);

// Сравниваем пароли

if($data['user_password'] === md5(md5($_POST['password'])))

{

// Генерируем случайное число и шифруем его

$hash = md5(generateCode(10));

// Записываем в БД новый хеш авторизации и IP

mysqli_query($link, "UPDATE users SET user_hash='".$hash."' ".$insip." WHERE user_id='".$data['user_id']."'");

// Ставим куки

setcookie("id", $data['user_id'], time()+60*60*24*30, "/");

setcookie("hash", $hash, time()+60*60*24*30,"/");

// Переадресовываем на страницу админки

if ($_POST['login'] === 'admin') {

header("Location: admin.php"); exit();

}

else {

header("Location: ../index.php"); exit();

}

}

else

{

echo "<h2>Вы ввели неправильный логин / пароль</h2>";

}

}

?>

<?php

include "settings.php";

//УЗНАЁМ ТЕКЩЕГО ПОЛЬЗОВАТЕЛЯ!!!

$sql = mysqli_query($link, "SELECT user_login FROM users WHERE user_hash= '".$_COOKIE['hash']."' ");

while ($result = mysqli_fetch_array($sql)) {

$username = $result['user_login'];

}

?>

<a href="../index.php"><img src="../img/logo.png" alt=""></a>

<h2 class="hello">Привет <b><?php echo "$username"; ?></b> !</h2>

<h2>Авторизация:</h2>

<form method="POST">

Логин: <br>

<input name="login" type="text" required placeholder="Введите Ваш логин..."><br>

Пароль: <br>

<input name="password" type="password" required placeholder="Введите Ваш пароль..."><br>

<input name="submit" type="submit" value="Войти">

</form>

<h2>Ещё не зарегистрированы?</h2>

<a href="register.php"><input type="submit" value="Зарегистрироваться"></a>

</body>

</html>

Register.php

<!DOCTYPE html>

<html lang="ru">

<head>

<meta charset="UTF-8">

<title>Курсовая работа ВБИо-302 | Первушин Егор</title>

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

<link rel="shortcut icon" href="/img/favicon.ico">

</head>

<body style="text-align: center;">

<?php

// Соединямся с БД

include "settings.php";

if(isset($_POST['submit']))

{

$err = [];

// проверям логин

if(!preg_match("/^[a-zA-Z0-9]+$/",$_POST['login']))

{

$err[] = "Логин может состоять только из букв английского алфавита и цифр";

}

if(strlen($_POST['login']) < 3 or strlen($_POST['login']) > 30)

{

$err[] = "Логин должен быть не меньше 3-х символов и не больше 30";

}

// проверяем, не сущестует ли пользователя с таким именем

$query = mysqli_query($link, "SELECT user_id FROM users WHERE user_login='".mysqli_real_escape_string($link, $_POST['login'])."'");

if(mysqli_num_rows($query) > 0)

{

$err[] = "Пользователь с таким логином уже существует в базе данных";

}

// Если нет ошибок, то добавляем в БД нового пользователя

if(count($err) == 0)

{

$login = $_POST['login'];

// Убераем лишние пробелы и делаем двойное хеширование

$password = md5(md5(trim($_POST['password'])));