Аутентифицировать логин с помощью MySQL

как указано в моем имени пользователя, отчаянно нужна помощь, так что извините, если это дублированный пост!

Я пытаюсь создать страницу входа, которая перенаправляет меня на мою домашнюю страницу в случае сбоя аутентификации, поэтому мой ввод будет перекрестной проверкой с базой данных (mysql), а затем выведет либо успешно, либо ошибку. но результат всегда показывает ошибку. Я почти уверен, что он не вошел в мой 1-й оператор проверки.

Как показано ниже, мой код:

<?php
$servername = "localhost";
$username = "read";
$password = "projecttest";
$dbname = "test-member";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
} 

$password1 = $_POST["password"];
$username1 = $_POST["username"];

$chkpassword = " SELECT password FROM member WHERE password = $password1 ";
$chkusername = " SELECT username FROM member WHERE username = $username1";

if ($conn->query($chkpassword) == TRUE ) {   
echo "successful log in"
?>
<INPUT TYPE = "hidden" NAME = "redirect" 
VALUE = "http://localhost/IPproject_test1/home.php">
<?php
}

else if ($conn->query($chkpassword) == FALSE ) {   
echo "error";
}
$conn->close();
?>
Опасность не хранит ваши пароли в виде простого текста. Общественный Интернет кишит киберпреступниками. Многие называют это «грязным проводом». Пожалуйста, пожалуйста прочтите это. php.net/manual/en/faq.passwords.php
O. Jones 23.03.2018 19:46
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
1
32
1

Ответы 1

Проблема в вашем запросе.

Предположим, пользователь вводит пароль asdf1234. Ваш запрос будет выглядеть так:

SELECT password FROM member WHERE password = asdf1234

Это не удастся, потому что MySQL считает asdf1234 столбцом. Если вы экранируете строку, она должна сработать.

$chkpassword = "SELECT password FROM member WHERE password = '{$password}'" 

Итак, запрос выглядит так:

SELECT password FROM member WHERE password = 'asdf1234'

Я все равно не стал бы проверять на == TRUE, но на !== null

Другие вопросы по теме