Как проверить имя пользователя и пароль в php?

Я использую приведенный ниже PHP-код для извлечения данных из БД. Я не могу проверить, совпадает ли имя пользователя с введенным паролем.

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

Код PHP -

<?php

include 'DBConfig.php';

$con = mysqli_connect($HostName,$HostUser,$HostPass,$DatabaseName);

$json = file_get_contents('php://input');

$obj = json_decode($json,true);

$email = $obj['email'];

$password = $obj['password'];

$Sql_Query = "select * from UserRegistrationTable where email = '$email' and password = '$password'; ";

$connection_part = mysqli_query($con,$Sql_Query);
$dataExist=0;

if (mysqli_num_rows($connection_part)>0){ 

 $SuccessLoginMsg = 'Data Matched';

 $SuccessLoginJson = json_encode($SuccessLoginMsg);

echo $SuccessLoginJson ; 

$check = mysqli_fetch_array($connection_part);

$response=array();
array_push($response,array("name"=>$check[1], "email"=>$check[2], "password"=>$check[3]);

echo json_encode(array("Details"=>$response));     
}

 else{

$InvalidMSG = 'Invalid Username or Password Please Try Again' ;

$InvalidMSGJSon = json_encode($InvalidMSG);

echo $InvalidMSGJSon ;

 }

 mysqli_close($con);
?>

Почему вы отметили здесь Android?

buzzingsilently 18.05.2018 12:33
Опасность: Вы уязвим для Атаки с использованием SQL-инъекций, от которого вам нужно самому защищать.
Quentin 18.05.2018 12:36

Как ваш пароль зашифрован в вашей базе данных?

DaFois 18.05.2018 12:36
Опасность: «Не хеширование вообще» равно неподходящий алгоритм хеширования; вам необходимо береги себя лучше паролей ваших пользователей.
Quentin 18.05.2018 12:36

Действительно трудно понять, в чем проблема. Вам нужно создать минимальный воспроизводимый пример и выяснить, где в вашей программе он начинает делать неожиданные вещи. Добавьте вывод отладки, чтобы вы могли видеть, какие значения имеют переменные и т. д.

Quentin 18.05.2018 12:38

Я изучаю это, так как я не могу загрузить источник этого, я загрузил это здесь. Могу ли я узнать, что не так с этим кодом относительно соответствия UN и паролей?

Abhishek DS 18.05.2018 12:38
Стоит ли изучать 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 и хотите разрабатывать...
2
6
95
1

Ответы 1

Вам следует переключить операторы if или лучше заменить '>' на '<'. если в вашем sql-запросе есть строки, значит, имя пользователя и пароль совпадают. У вас есть наоборот, надеюсь, это поможет.

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