Файл: Разработка сайта библиотеки MyLibrary.pdf

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

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

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

Добавлен: 28.03.2023

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

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

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

?>

<section id="contacts">

    <address>

    <h2>Связаться с нами можно по адресу:</h2>

    <p>город Москва<br>Нагорный проезд<br>дом 10, корпус 2, строение 3</p>

    <h3>Мы работаем всю неделю с 9:00 до 22:00. Приходите!</h3>

    <h2>Или по следующим контактам:</h2>

    <p><a href="mailto:info@mylibrary.org">info@MyLibrary.org</a><br>

        <a href="tel:89999999999">8 (999) 999 99-99</a></p>

    </address>

    <script type="text/javascript" charset="utf-8" async src="https://api-maps.yandex.ru/services/constructor/1.0/js/?um=constructor%3A24a21c1662170c20530fb363ccf8ceae4e07d91f572efd8105c6f4bf2b761f28&amp;width=1000&amp;height=300&amp;lang=ru_RU&amp;scroll=true"></script>

</section>

<section id="forms">

    <h2>Также Вы можете обратиться через контактную форму. Мы обязательно в кратчайшие сроки ответим Вам по электронной почте или, если Вы укажете номер, позвоним.</h2>

    <p><b>Обязательные для заполнения поля отмечены "звездочкой".</b></p>

    <?php

    if (isset($_POST['title'])) {

        $title = $_POST['title'];

    } else { 

        $title = NULL; 

    }

    if (isset($_POST['request'])) {

        $request = $_POST['request'];

    } else {

        $request = NULL;

    }

    if ($title != NULL || $request != NULL) {

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

            $login = $_SESSION['login'];

            $getInfo = mysqli_query($connection, "SELECT `name`,`email`,`number` FROM users WHERE `login`='$login'");

            $info = mysqli_fetch_array($getInfo);

            if ($info[0] != NULL) {

                $name = $info[0];

                } else {

                $name = $_POST['name'];

                $addInfo = mysqli_query($connection, "UPDATE users SET `name`='$name' WHERE `login`='$login'");

            }

            if ($info[1] != NULL) {

                $email = $info[1];

                } else {

                $email = $_POST['email'];

                $addInfo = mysqli_query($connection, "UPDATE users SET `email`='$email' WHERE `login`='$login'");

            }

            if ($info[2] != NULL) {

                $number = $info[2];

                } else {

                $number = $_POST['number'];

                if ($number != NULL) {

                    $addInfo = mysqli_query($connection, "UPDATE users SET `number`='$number' WHERE `login`='$login'");

                }

            }

        } else {

            $login = NULL;

            $name = $_POST['name'];

            $email = $_POST['email'];

            $number = $_POST['number'];

        }

        if ($name != NULL && $email != NULL && $title != NULL && $request != NULL) {

            $sendRequest = mysqli_query($connection, 

                        "INSERT INTO requests (`login`,`name`,`email`,`number`,`title`,`request`,`date`,`status`)

                                    VALUES ('$login','$name','$email','$number','$title','$request',date(now()),'Отправлено')");


            header('Location: ./contacts.php');

        } else if ($title != NULL || $request != NULL) {

            echo '<p>Ваше обращение не может быть отправлено: не заполнены обязательные поля.</p>';

        }

    }

    ?>

    <form action="contacts.php" method="POST">

        <?php

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

            echo '<div id="form"><p>*Как к Вам обращаться:<br><input type="text" name="name" required></p>';

            echo '<p>*Ваша электронная почта:<br><input type="text" name="email" required></p>';

            echo '<p>Ваш номер телефона:<br><input type="text" name="number"></p>';

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

            $login = $_SESSION['login'];

            $getInfo = mysqli_query($connection, "SELECT `name`,`email`,`number` FROM users WHERE `login`='$login'");

            $info = mysqli_fetch_array($getInfo);

            if ($info[0] == NULL) {

                echo '<p>*Как к Вам обращаться:<br><input type="text" name="name" required></p>';

            }

            if ($info[1] == NULL) {

                echo '<p>*Ваша электронная почта:<br><input type="text" name="email" required></p>';

            }

            if ($info[2] == NULL) {

                echo '<p>Ваш номер телефона:<br><input type="text" name="number"></p>';

            }

        }

        echo '<p>*Тема вашего обращения:<br><input type="text" name="title" required></p>

                <p>*Текст обращения (здесь Вы также можете указать, предпочтительнее Вам написать на почту или позвонить и в какое время):<br>

                <textarea rows="10" cols="45" name="request"></textarea></p></div>';

        ?>

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

    </form>

</section>

<?php require('./includes/footer.html'); ?>

</body>

</html>

Add.php

<?php

    require('./includes/connection.php');

    if (isset($_GET['id']) && isset($_SESSION['login'])) {

        $bid = $_GET['id'];

        $uid = $_SESSION['id'];

        $check = mysqli_query($connection, "SELECT `status` FROM list WHERE `id`='$bid'");

        $result = mysqli_fetch_array($check);

        if ($result[0] == 'В наличии') {

            $update = mysqli_query($connection, "UPDATE list SET `status`='Забронирована' WHERE `id`='$bid'");

            $readlist = mysqli_query($connection, "INSERT INTO readlists (`uid`, `bid`, `status`, `date`) VALUES ('$uid', '$bid', 'Забронирована', date(now()))");

        }

    }

    if (isset($_GET['from'])) {

        if ($_GET['from'] == 'librarian') {

            header('Location: ./librarian.php?booklist=yes');

            exit;

        }

        if ($_GET['from'] == 'user') {

            header('Location: ./user.php');

            exit;

        }

    } else {

        header('Location: ./books.php');

        exit;


    }

    ?>

Remove.php

<?php

    require('./includes/connection.php');

    if (isset($_GET['id']) && isset($_SESSION['login'])) {

        $id = $_GET['id'];

        $uid = $_SESSION['id'];

        $check = mysqli_query($connection, "SELECT `id`,`uid`,`bid`,`status` FROM readlists WHERE `bid`='$id' AND `uid`='$uid'");

        $result = mysqli_fetch_array($check);

        $check2 = mysqli_query($connection, "SELECT `status` FROM list WHERE `id`='$id'");

        $result2 = mysqli_fetch_array($check2);

        if ($_SESSION['id'] == $result[1] || $_SESSION['role'] == 'librarian') {

            if ($result[3] == 'Забронирована' || $result2[0] == 'Забронирована') {

                $update = mysqli_query($connection, "UPDATE list SET `status`='В наличии' WHERE `id`='$id'");

                $remove = mysqli_query($connection, "DELETE FROM readlists WHERE `id`='$result[0]'");

            }

        }

    }

    if (isset($_GET['from'])) {

        if ($_GET['from'] == 'librarian') {

            header('Location: ./librarian.php?booklist=yes');

            exit;

        }

        if ($_GET['from'] == 'user') {

            header('Location: ./user.php');

            exit;

        }

    } else {

        header('Location: ./books.php');

        exit;

    }

    ?>

User.php

<?php

    require('./includes/connection.php');

    if (isset($_GET['id'])) {

        $id = $_GET['id'];

        $getInfo = mysqli_query($connection, "SELECT `login`,`name` FROM users WHERE `id`='$id'");

        $info = mysqli_fetch_array($getInfo);

        $login = $info[0];

        if ($info[1] != NULL) {

            $name = $info[1];

        }

    } else if (isset($_SESSION['role'])) {

            $login = $_SESSION['login'];

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

                $name = $_SESSION['name'];

            }

    } else {

        header('Location: ./login.php');

        exit;

    }

    if (isset($_GET['action'])) {

        $action = true;

    }

?>

<!DOCTYPE HTML>

<html>

<head>

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

    <?php require('./includes/head.html');

        if (isset($name)) {

            echo '<title>Моя библиотека | Личный кабинет пользователя '.$name.'</title>';

        } else {

            echo '<title>Моя библиотека | Личный кабинет пользователя '.$login.'</title>';

        }

    ?>

</head>

<body>

<?php require('./includes/header.html'); ?>

<?php

    require('./includes/welcome.php');

    

    echo '<section id="userinfo">';

    echo '<h2>Профиль пользователя<br>'.$login.'</h2>';

    $getProfileInfo = mysqli_query($connection, "SELECT `id`,`name`,`birthday`,`role`,`email`,`number`,`edited` FROM users WHERE `login`='$login'");

    $profileInfo = mysqli_fetch_array($getProfileInfo);

    $id = $profileInfo[0];

    $name = $profileInfo[1];

    $birthday = $profileInfo[2];

    $role = $profileInfo[3];

    $email = $profileInfo[4];

    $number = $profileInfo[5];

    $edited = $profileInfo[6];

    echo '<p><span class="parameter">ID:</span> '.$id.'<br>';


    echo '<span class="parameter">Имя:</span>'.$name.'<br>';

    echo '<span class="parameter">День рождения:</span> '.$birthday.'<br>';

    if ($role == 'librarian') {

        echo '<span class="parameter">Роль:</span> <b>Библиотекарь</b><br>';

    } else {

        echo '<span class="parameter">Роль:</span> <b>Читатель</b><br>';

    }

    echo '<span class="parameter">E-mail:</span> '.$email.'<br>';

    echo '<span class="parameter">Номер:</span> '.$number.'<br>';

    if (!isset($_GET['action'])) {

        if ($edited != 1 && $id == $_SESSION['id'] || $_SESSION['role'] == 'librarian') {

            echo '<form method="get"><p><input name="id" value="'.$id.'" type="hidden">

                <input name="action" value="edit" type="hidden">

                <input type="submit" value="Изменить данные"></p></form>

                <p><b>Менять данные можно только один раз! Дальнейшее изменение возможно только через библиотекаря.</b></p>';

        }

    } else {

        if ($edited != 1 && $_SESSION['role'] == 'user' && $id == $_SESSION['id']) {

            if (isset($_POST['birthday']) || isset($_POST['email']) || isset($_POST['number'])) {

                if ($_POST['birthday'] != $birthday) {

                    $birthday = $_POST['birthday'];

                    $edit = mysqli_query($connection, "UPDATE users SET `birthday`='$birthday' WHERE `id`='$id'");

                }

                if ($_POST['email'] != $email) {

                    $email = $_POST['email'];

                    $edit = mysqli_query($connection, "UPDATE users SET `email`='$email' WHERE `id`='$id'");

                }

                if ($_POST['number'] != $number) {

                    $number = $_POST['number'];

                    $edit = mysqli_query($connection, "UPDATE users SET `number`='$number' WHERE `id`='$id'");

                }

            $edit = mysqli_query($connection, "UPDATE users SET `edited`=1 WHERE `id`='$id'");

            if (isset($_GET['id'])) {

                header ('Location: ./user.php?id='.$id);

            } else {

                header ('Location: ./user.php');

            }

        }

            echo '<h3>Измените желаемые данные:</h3><form method="post">

                <p>Дата  рождения в формате месяц/день/год:<br><input name="birthday" type="date"></p>

                <p>Электронная почта:<br><input name="email" type="text" value="'.$email.'" size="20"></p>

                <p>Номер телефона:<br><input name="number" type="text" value="'.$number.'" size="20"></p>

                <p><input type="submit" value="Отправить"></form>';

        }

        if ($_SESSION['role'] == 'librarian') {

            if (isset($_POST['name']) || isset($_POST['birthday']) || isset($_POST['email']) || isset($_POST['number'])) {

                if ($_POST['name'] != $name) {

                    $name = $_POST['name'];


                    $edit = mysqli_query($connection, "UPDATE users SET `name`='$name' WHERE `id`='$id'");

                }

                if ($_POST['birthday'] != $birthday) {

                    $birthday = $_POST['birthday'];

                    $edit = mysqli_query($connection, "UPDATE users SET `birthday`='$birthday' WHERE `id`='$id'");

                }

                if ($_POST['email'] != $email) {

                    $email = $_POST['email'];

                    $edit = mysqli_query($connection, "UPDATE users SET `email`='$email' WHERE `id`='$id'");

                }

                if ($_POST['number'] != $number) {

                    $number = $_POST['number'];

                    $edit = mysqli_query($connection, "UPDATE users SET `number`='$number' WHERE `id`='$id'");

                }

            if (isset($_GET['id'])) {

                header ('Location: ./user.php?id='.$id);

            } else {

                header ('Location: ./user.php');

            }

        }

            echo '<h3>Измените желаемые данные:</h3><form method="post">

                <p>Имя:<br><input name="name" type="text" value="'.$name.'" size="20"></p>

                <p>Дата  рождения в формате месяц/день/год:<br><input name="birthday" type="date"></p>

                <p>Электронная почта:<br><input name="email" type="text" value="'.$email.'" size="20"></p>

                <p>Номер телефона:<br><input name="number" type="text" value="'.$number.'" size="20"></p>

                <p><input type="submit" value="Отправить"></form>';

        }

    }

    echo '</section>';

    echo '<section id="readlist">'; 

?>

<form method="get">

    <p><select name="sort">

    <option value="none" hidden="">Выберите способ сортировки</option>

    <option value="date">По дате (старее - выше)</option>

    <option value="none">По дате (старее - ниже)</option>

    <option value="status">По статусу</option>

   </select><br>

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

  </form>

<?php

    if (isset($_GET['sort'])) {

        if ($_GET['sort'] == 'date') {

            $list = mysqli_query($connection, "SELECT `bid`,`status`,`date` FROM readlists WHERE `uid`='$id' ORDER BY `date` ASC");

        }

        if ($_GET['sort'] == 'status') {

            $list = mysqli_query($connection, "SELECT `bid`,`status`,`date` FROM readlists WHERE `uid`='$id' ORDER BY `status` ASC");

        }

        if ($_GET['sort'] == 'none') {

            $list = mysqli_query($connection, "SELECT `bid`,`status`,`date` FROM readlists WHERE `uid`='$id' ORDER BY `date` DESC");

        }

    } else {

        $list = mysqli_query($connection, "SELECT `bid`,`status`,`date` FROM readlists WHERE `uid`='$id' ORDER BY `date` DESC");

    }

    if ($list) {

        $rows = mysqli_num_rows($list);

        echo '<table border=1 width="100%"><tr><thead>

                    <th>Название книги</th>