Добро пожаловать на BlackSAMP - ФОРУМ

  • Приватные и секретные разделы доступны только зарегистрированным пользователям.

    Вся важная информация в нашем ТГ: t.me/gtablack

    На данном форуме запрещено публиковать контент нарушающий Российское законодательство, за это последует блокировка ФА.

Регистрация/Авторизация/Личный кабинет для PHP сайта.

Количество просмотров: 717

Developer

Разработчик
Профессионал
Регистрация
23 Дек 2024
Сообщения
256
Реакции
127
Баллы
62
Поехали
"Везде все подписал чтобы было понятнее"
1. Создаем register.php файл
Пишем внутри него такой код:


Код:
PHP:[/SIZE][/CENTER]
[SIZE=4][CENTER]<?php
// Подключение к базе данных
$conn = mysqli_connect('localhost', 'username', 'password', 'database_name');

// Получение данных формы регистрации
$username = $_POST['username'];
$email = $_POST['email'];
$password = $_POST['password'];

// Проверка, существует ли пользователь с таким же именем или email
$check_user_query = "SELECT * FROM users WHERE username='$username' OR email='$email'";
$check_user_result = mysqli_query($conn, $check_user_query);

if (mysqli_num_rows($check_user_result) > 0) {
echo "Пользователь с таким именем или email уже существует.";
} else {
// Хэширование пароля
$hashed_password = password_hash($password, PASSWORD_DEFAULT);

// Вставка данных пользователя в базу данных
$register_query = "INSERT INTO users (username, email, password) VALUES ('$username', '$email', '$hashed_password')";
mysqli_query($conn, $register_query);

echo "Регистрация успешна!";
}
?>


2. создаем login.php файл
Пишем внутри него такой код:
Код:
PHP:
<?php
// Подключение к базе данных
$conn = mysqli_connect('localhost', 'username', 'password', 'database_name');

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

// Поиск пользователя в базе данных по имени пользователя
$login_query = "SELECT * FROM users WHERE username='$username'";
$login_result = mysqli_query($conn, $login_query);

if (mysqli_num_rows($login_result) == 1) {
$user = mysqli_fetch_assoc($login_result);

// Проверка пароля
if (password_verify($password, $user['password'])) {
// Авторизация успешна, создание сессии и перенаправление на личный кабинет
session_start();
$_SESSION['username'] = $user['username'];
header("Location: dashboard.php");
} else {
echo "Неверный пароль.";
}
} else {
echo "Пользователь не найден.";
}
?>

3. создаем dashboard.php файл
Пишем внутри него такой код:

Код:
PHP:
<?php
// Проверка, авторизован ли пользователь
session_start();
if (!isset($_SESSION['username'])) {
header("Location: login.php");
}
?>

<!DOCTYPE html>
<html>
<head>
<title>Личный кабинет</title>
</head>
<body>
<h1>Добро пожаловать, <?php echo $_SESSION['username']; ?>!</h1>

<a href="logout.php">Выход</a>
</body>
</html>
 

DarkPhantom

Администратор
Администратор
Регистрация
18 Авг 2024
Сообщения
112
Решения
4
Реакции
27
Баллы
28


Самое интересное начнется , когда залетит мамкин }{ацkеR с
admin' OR 1=1 -- - SQL инъекция
<script>
alert("XSS");
</script>

offtop

Вот более менее безопасный код :
PHP:
<?php
// Подключение к базе данных
$conn = mysqli_connect('localhost', 'username', 'password', 'database_name');

// Получение данных формы авторизации
$username = $_POST['username'];
$password = $_POST['password'];
$stmt = $conn->prepare("SELECT * FROM users WHERE username = ?");
$stmt->bind_param("s", $username);
$stmt->execute();
$result = $stmt->get_result();

if ($result->num_rows == 1) {
    $user = $result->fetch_assoc();

    // Проверка пароля
    if (password_verify($password, $user['password'])) {
        // Авторизация успешна, создание сессии и перенаправление на личный кабинет
        session_start();
        $_SESSION['username'] = $user['username'];
        header("Location: dashboard.php");
        exit(); // Всегда добавляй exit после перенаправления
    } else {
        echo "Неверный пароль.";
    }
} else {
    echo "Пользователь не найден.";
}
?>
Ну и так со всем . Для избежания xss :
htmlspecialchars
 

emoslut

Модератор
Команда Риверса
Регистрация
11 Фев 2025
Сообщения
69
Решения
7
Реакции
4
Баллы
28
1.1 Запрещено оставлять бессмысленные сообщения. Например те, которые не относятся к контексту темы.
Я так понимаю, это форум не для слива. А для программирования. Блять не форум а пизда, если честно. Хоть и поддерживаю вас
 

DarkPhantom

Администратор
Администратор
Регистрация
18 Авг 2024
Сообщения
112
Решения
4
Реакции
27
Баллы
28

Mars_Linares

Новичок
Пользователь
Регистрация
10 Апр 2025
Сообщения
12
Реакции
1
Баллы
3
Я так понимаю, это форум не для слива. А для программирования. Блять не форум а пизда, если честно. Хоть и поддерживаю вас
Это не форум по сливу,это форум по черной гта, тут есть определенные темы,где общаются люди с определенными интересами
На то они и называются темами
 
Сверху Снизу