Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №1964541
А
Аноним
22 октября 2024 08:24 · публичный вопрос
А
Аноним

Создайте таблицу users с полями id, user, pass, status. Заполните её несколькими строками данных. Реализуйте форму входа на сайт: при совпадении имен пользователя и паролю, в сессионную переменную отмечать о корректной аутентификации и создавать ссылку «Выход» на странице. При некорректном вводе отмечать, что данные введены некорректно и выводить фразу «Некорректный ввод». код php

Нейросеть22 октября 2024 08:24

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

1. Создание таблицы users

Для создания таблицы в базе данных, предположим, что вы используете MySQL. Вам нужно выполнить следующий SQL-запрос:

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    user VARCHAR(50) NOT NULL,
    pass VARCHAR(255) NOT NULL,
    status BOOLEAN NOT NULL
);

Теперь заполним таблицу несколькими строками данных:

INSERT INTO users (user, pass, status) VALUES
('user1', 'password1', 1),
('user2', 'password2', 1),
('user3', 'password3', 1);

2. Реализация формы входа

Создайте файл, например login.php, и добавьте в него следующий код:

<?php
session_start();
$host = 'localhost'; // ваш хост
$db = 'your_database'; // ваше имя базы данных
$user = 'your_username'; // ваше имя пользователя базы данных
$pass = 'your_password'; // ваш пароль базы данных

$conn = new mysqli($host, $user, $pass, $db);

if ($conn->connect_error) {
    die("Ошибка подключения: " . $conn->connect_error);
}

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $username = $_POST['username'];
    $password = $_POST['password'];

    $stmt = $conn->prepare("SELECT * FROM users WHERE user = ? AND pass = ?");
    $stmt->bind_param("ss", $username, $password);
    $stmt->execute();
    $result = $stmt->get_result();

    if ($result->num_rows === 1) {
        $_SESSION['authenticated'] = true;
        // Создаем переменную с именем пользователя для дальнейшего использования
        $_SESSION['username'] = $username;
        header("Location: welcome.php"); // Перенаправление на страницу приветствия
        exit();
    } else {
        $error_message = "Некорректный ввод";
    }
}
?>

<!DOCTYPE html>
<html>
<head>
    <title>Вход</title>
</head>
<body>
    <h2>Форма входа</h2>
    <form method="post">
        <label for="username">Имя пользователя:</label>
        <input type="text" name="username" required><br>
        <label for="password">Пароль:</label>
        <input type="password" name="password" required><br>
        <input type="submit" value="Войти">
    </form>
    <?php
    if (isset($error_message)) {
        echo "<p style='color:red;'>" . $error_message . "</p>";
    }
    ?>
</body>
</html>

3. Создание страницы «Выход»

Создайте файл logout.php, который будет управлять выходом пользователя:

<?php
session_start();
session_destroy(); // Уничтожаем все сессии
header("Location: login.php"); // Перенаправление на страницу входа
exit();
?>

4. Страница «Приветствия»

Создайте файл welcome.php, чтобы приветствовать пользователя:

<?php
session_start();

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

<!DOCTYPE html>
<html>
<head>
    <title>Добро пожаловать</title>
</head>
<body>
    <h2>Добро пожаловать, <?php echo $_SESSION['username']; ?>!</h2>
    <a href="logout.php">Выход</a>
</body>
</html>

Заключение

Теперь у вас есть базовая структура для аутентификации пользователей с использованием PHP и MySQL. Не забудьте, что хранение паролей в открытом виде не рекомендуется. Рассмотрите возможность использования функции password_hash() при сохранении паролей и password_verify() для проверки. Это повысит безопасность вашей системы. Удачи в вашей учебе и разработке!

Создайте таблицу users с полями id, user, pass, status. Заполните её несколькими строками данных. Реализуйте форму входа на сайт: при совпадении имен пользователя и паролю, в сессионную переменную отмечать о корректной аутентификации и создавать ссылку «Выход» на странице. При некорректном вводе отмечать, что данные введены некорректно и выводить фразу «Некорректный ввод». код php
Создание таблицы пользователей и реализовать форму входа на сайт — это важный шаг в разработке веб-приложения. Давайте шаг за шагом разберём, как это можно сделать на языке PHP. ### 1. Создание таблицы `users` Для создания таблицы в базе данных, предположим, что вы используете MySQL. Вам нужно выполнить следующий SQL-запрос: ```sql CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, user VARCHAR(50) NOT NULL, pass VARCHAR(255) NOT NULL, status BOOLEAN NOT NULL ); ``` Теперь заполним таблицу несколькими строками данных: ```sql INSERT INTO users (user, pass, status) VALUES ('user1', 'password1', 1), ('user2', 'password2', 1), ('user3', 'password3', 1); ``` ### 2. Реализация формы входа Создайте файл, например `login.php`, и добавьте в него следующий код: ```php connect_error) { die("Ошибка подключения: " . $conn->connect_error); } if ($_SERVER['REQUEST_METHOD'] == 'POST') { $username = $_POST['username']; $password = $_POST['password']; $stmt = $conn->prepare("SELECT * FROM users WHERE user = ? AND pass = ?"); $stmt->bind_param("ss", $username, $password); $stmt->execute(); $result = $stmt->get_result(); if ($result->num_rows === 1) { $_SESSION['authenticated'] = true; // Создаем переменную с именем пользователя для дальнейшего использования $_SESSION['username'] = $username; header("Location: welcome.php"); // Перенаправление на страницу приветствия exit(); } else { $error_message = "Некорректный ввод"; } } ?> Вход

Форма входа



" . $error_message . "

"; } ?> ``` ### 3. Создание страницы «Выход» Создайте файл `logout.php`, который будет управлять выходом пользователя: ```php ``` ### 4. Страница «Приветствия» Создайте файл `welcome.php`, чтобы приветствовать пользователя: ```php Добро пожаловать

Добро пожаловать, !

Выход ``` ### Заключение Теперь у вас есть базовая структура для аутентификации пользователей с использованием PHP и MySQL. Не забудьте, что хранение паролей в открытом виде не рекомендуется. Рассмотрите возможность использования функции `password_hash()` при сохранении паролей и `password_verify()` для проверки. Это повысит безопасность вашей системы. Удачи в вашей учебе и разработке!