Как сделать логин на сайте?
<?php
$login = $_POST["login"];
$password = $_POST["password"];
if($login == false or $password == false){
echo("Вы не ввели логин или пароль.");
}
$mysqli = new mysqli("localhost","root","","game");
$mysqli->query ("SETNAMES 'utf8'");
$query = "SELECT * FROM users WHERE name='$login' and password='$password'";
$mysqli->close();
?>
Вот код который я написал. Что там есть? Впринципе ничего. Я только сделал две переменные логин и пароль и проверку ли их поля заполнены. Как сделать проверку ли в базе данных есть такой пользователь и ли пароль совпадает? Пробовал по разному не получалось. Я только учусь. Может вы подскажите?
Ответы (1 шт):
Автор решения: knownOut
→ Ссылка
Для решения Вашей задачи нужно просто получить данные пользователя из базы данных и сравнить их с теми, которые были отправлены в скрипт.
<?php
$Login = $_POST["login"];
$Password = $_POST["password"];
# Подключаемся к базе данных
$DB = new mysqli("127.0.0.1", "root", "", "game");
if(!$DB) exit("Ошибка подключения к базе данных");
# Отправляем запрос в базу данных
if($Result = $DB->query("SELECT * FROM regs WHERE regs.login = '$Login'")) {
# Получаем количество строк в результате запроса
$RowsCount = mysqli_num_rows($Result);
# Если строк больше нуля, значит пользователь существует
if($RowsCount > 0) {
# Получаем данные пользователя из базы и сравниваем пароли
$DBUserData = $Result->fetch_assoc();
if($DBUserData["password"] == $Password)
exit("Вход завершен. Пароль введен верно");
exit("Ошибка. Пароли не совпадают");
}
exit("Пользователя с таким логином не существует");
}
exit("Не удалось отправить запрос");
?>