GithubHelp home page GithubHelp logo

examweb's Introduction

Задание для экзамена по ПМ 06 Рарзработка web-реурсов

Техническое задание для экзамена - Ссылка на задание

Примеры логики для back-end части

  1. Подключение к базе данных
<?php
    $connect = mysqli_connect('localhost', 'root','','exam');
    if(!$connect){
        die('Database connect error!');
    }
?>
  1. Логика регистрации на сайте
<?php
session_start();
require_once('db.php');

// Получаем данные из формы входа
$username = $_POST['name'];
$password = $_POST['password'];

// Проверка наличия пользователя с введенными данными
$result = mysqli_query($connect, "SELECT * FROM `users` WHERE `username` = '$username' AND `password` = '$password'");
$user = mysqli_fetch_assoc($result);

if($user) {
    // Успешный вход - устанавливаем сессию и перенаправляем на главную страницу
    $_SESSION['user_id'] = $user['id'];
    $_SESSION['username'] = $user['username'];
    $_SESSION['role'] = $user['role'];

    header('Location: ../index.php'); // Замените index.php на вашу главную страницу
} else {
    // Ошибка входа - перенаправляем на страницу входа с сообщением об ошибке
    header('Location: ../login.php?error=1'); // Замените login.php на вашу страницу входа
}
exit();
?>
  1. Логика входа на сайт
<?php
session_start();
require_once('db.php');

// Регистрация нового пользователя
$username = $_POST['name'];
$password = $_POST['password'];

mysqli_query($connect, "INSERT INTO `users` (`id`, `username`, `password`, `role`) VALUES (NULL, '$username', '$password', 'user')");
header('Location: ../login.php');
?>
  1. Логика добавление статьи на сайт
<?php
session_start();
require_once('db.php');

// Проверка, что пользователь вошел в систему
if (!isset($_SESSION['user_id'])) {
    // Если пользователь не вошел, перенаправляем на страницу входа
    header('Location: ../login.php');
    exit();
}

// Проверка, что форма была отправлена
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // Получаем данные из формы
    $title = $_POST['title'];
    $content = $_POST['content'];
    $category = $_POST['category'];
    $author_id = $_SESSION['user_id']; // Предполагаем, что пользователь уже вошел в систему

    // Проверяем, есть ли изображение для загрузки
    if ($_FILES['image']['error'] == 0) {
        $tmpName = $_FILES['image']['tmp_name'];

        // Читаем содержимое файла в виде бинарных данных
        $image_data = file_get_contents($tmpName);
    } else {
        // Если изображение не загружено, устанавливаем значение по умолчанию или NULL, в зависимости от вашего предпочтения
        $image_data = NULL;
    }

    // Вставляем данные в базу данных, используя параметры для безопасности
    $query = "INSERT INTO `articles` (`title`, `content`, `image_data`, `category`, `author_id`) VALUES (?, ?, ?, ?, ?)";
    $stmt = mysqli_prepare($connect, $query);

    mysqli_stmt_bind_param($stmt, 'ssssi', $title, $content, $image_data, $category, $author_id);
    mysqli_stmt_execute($stmt);

    mysqli_stmt_close($stmt);

    header('Location: ../index.php'); // Перенаправляем на главную страницу
    exit();
}

?>
  1. Что вам нужно доделать?
  • Админ панель: Вам нужно будет реализовать страницу админа(какие функционалы должны реализовать описано внизу)
  • Отображение пользователей сайта
  • Удалить пользователя
  • Удалить статью
  • Удалить комментарий

examweb's People

Contributors

bekthat avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.