Anastasia1999
@Anastasia1999
Учу php, практикуюсь

Почему код не проверяет пароль?

$data = $_POST;
	if ( isset($data['do_login']) )
	{
		$user = R::findOne('users', 'login = ?', array($data['login']));
		if ( $user )
		{
			//логин существует
			// if ($data['password'] == $user->password )
			if (md5($data['password'] == $user->password) )
			{
				//если пароль совпадает, то нужно авторизовать пользователя
				$_SESSION['logged_user'] = $user;
				header("Location: ".$_SERVER["REQUEST_URI"]);
			}else
			{
				$errors[] = 'Неверно введен пароль!';
			}

		}else
		{
			$errors[] = 'Пользователь с таким логином не найден!';
		}
		
		if (!empty($errors) )
		{
			//выводим ошибки авторизации
			echo '<div id="errors" style="color:red;">' .array_shift($errors). '</div><hr>';
			echo '<style>
			.log_alert{
				display: block!important;
			}
			</style>';
		}

	}


RedBeanPhp. Почему то не проходит проверка на пароль. Можно ввести верный логин и любой пароль и тогда все равно авторизует. Кто может посмотреть, в чем может быть проблема?
  • Вопрос задан
  • 110 просмотров
Решения вопроса 1
glaphire
@glaphire
PHP developer
Эта проверка некорректна
if (md5($data['password'] == $user->password) ) {
у Вас md5 от выражения, а не md5 от пришедшего пароля.
надо
if (md5($data['password']) == $user->password )
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Лучшие люди Иваново
от 40 000 до 90 000 руб.
N1.RU Новосибирск
от 100 000 руб.
Living Core Казань
от 50 000 руб.
22 сент. 2019, в 12:35
600 руб./за проект
22 сент. 2019, в 12:15
12000 руб./за проект