Добавил:
Тот самый Малыхя на партах и на досках Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД_Малых_БЭИ2203.docx
Скачиваний:
1
Добавлен:
13.03.2024
Размер:
1.58 Mб
Скачать

Глава 3. Подключение бд к сайту.

Программа для курсовой работы была разработана в редакторе кода VS Code и реализована на языке программирования PHP.

3.1. Подключение базы данных к сайту.

Для того чтобы присоединить бд к сайту, понадобилось создать код и в нем осуществить присоединение в виде кода php:

<?php

session_start(); // Начало сессии

$servername = "localhost:8889";

$username = "root";

$password = "root";

$database = "expeditiondb";

$conn = new mysqli($servername, $username, $password, $database);

// Проверка подключения

if ($conn->connect_error) {

die("Connection failed: " . $conn->connect_error);

}

Этот код использует PDO для подключения к базе данных MySQL.

3.2. Создание страниц для входа.

Для того, чтобы разработать эту страницу, понадобилось создать php-файл, в котором была отражена форма входа.

На странице представлена форма входа на сайт. Это продемонстрировано на рисунке 2.

Рисунок 2 – Форма входа на сайт.

Программный код основной части программы:

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<link rel="shortcut icon" href="assets\img\icon1.png" type="image/x-icon">

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

<style>

body {

font-family: 'Times New Roman', sans-serif;

background-color: antiquewhite;

margin: 0;

display: flex;

justify-content: center;

align-items: center;

height: 100vh;

}

.login-container {

background-color: rgb(124, 65, 16);

color: antiquewhite;

border-radius: 8px;

box-shadow: 0 0 10px rgb(59, 26, 3);

padding: 20px;

width: 300px;

}

form {

display: flex;

flex-direction: column;

}

label {

margin-bottom: 8px;

}

input {

background-color: antiquewhite;

padding: 10px;

margin-bottom: 16px;

border: 1px solid antiquewhite;

border-radius: 4px;

}

button {

background-color: #006400;

color: white;

padding: 12px;

border: none;

border-radius: 4px;

cursor: pointer;

font-size: 16px;

font-family: 'Times New Roman', Times, serif;

}

button:hover {

background-color: #556B2F;

}

</style>

</head>

<body>

<div class="login-container">

<form action="" method="post">

<h2>Вход</h2>

<?php if (isset($error_message)) : ?>

<p style="color: red;"><?php echo $error_message; ?></p>

<?php endif; ?>

<label for="username">Имя пользователя:</label>

<input type="text" id="username" name="username" required>

<label for="password">Пароль:</label>

<input type="password" id="password" name="password" required>

<button type="submit">Войти</button>

</form>

</div>

</body>

</html>

Эта страница предоставляет простую форму ввода логина и пароля для входа на сайт. Данные из формы отправляются методом POST для дальнейшей обработки. Информацию о пользователе (логин и пароль) страница берет из таблицы “ассеss”. Ниже представлен код

// Обработка формы при отправке

if ($_SERVER["REQUEST_METHOD"] == "POST") {

// Получение данных из формы

$username = $_POST["username"];

$password = $_POST["password"];

// Проверка введенных данных

$query = "SELECT * FROM access WHERE username = '$username' AND password = '$password'";

$result = $conn->query($query);

if ($result->num_rows > 0) {

// Вход успешен, сохранение имени пользователя в сессии

$_SESSION['username'] = $username;

// Перенаправление на защищенную страницу

header("Location: main.php");

exit();

} else {

$error_message = "Неверное имя пользователя или пароль";

}

Этот PHP-скрипт предназначен для аутентификации пользователя.

Для удобства авторизованного пользователя, был сделан вывод никнейма на страницах сайта. Код вывода представлен ниже

<div class="user-box">

<?php

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

echo $_SESSION['username'];

} else {

echo 'Добро пожаловать!';

}

?>

</div>

Соседние файлы в предмете Базы данных