В моей базе пароли зашифрованы в md5. И когда хочу залогиниться, то пишет "Incomplete combination of password and login". Не могу понять в чём ошибка, надеюсь на вашу помощь!
public function connexion()
{
switch ($_SERVER['REQUEST_METHOD']) {
case 'GET' :
if (isset($_SESSION['user'])) {
$error_message = "You are already connected as " . $_SESSION['user'];
include 'views/error.php';
} else {
include 'views/connexion.html';
}
break;
case 'POST' :
if (isset($_POST['login']) && isset($_POST['pw'])) {
$login = htmlspecialchars($_POST['login']);
$pw = htmlspecialchars($_POST['pw']);
$u = User::get_by_login($login);
if (!is_null($u)) {
if ($u->getMdp() == hash('md5', $pw)) {
$_SESSION['user'] = $login;
$_SESSION['uid'] = $u->getId();
$_SESSION['usadmin'] = $u->getIsAdmin();
header('Location: index.php?ctrl=video&action=showVideos');
exit();
} else {
$error_message = "Incomplete combination of password and login";
include 'views/error.php';
}
} else {
$error_message = "This login does not exist !";
include 'views/error.php';
}
} else {
$error_message = "Incomplete fields !";
include 'views/error.php';
}
break;
}
}
public function getMdp()
{
return $this->_mdp;
}
public function setMdp($pw)
{
if (is_string($pw)) {
$this->_mdp = $pw;
} else {
$this->_mdp = '';
}
}
У вас метод getMdp возвращает пустое значение, т.к. не вижу, где setMdp устанавливает значение переменной $this->_mdp (которая используется для сравнения). И подозреваю, что в setMdp($pw) поступает пароль, а не его хэш, после чего вы сравниваете пароль с хэшом, что не будет равно.
И как верно заметил @etki, не используйте md5, либо хотя бы солите пароли.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
В БД имеются три записи с текстом "Город", "Новый город" и "Старый город"Делаем запрос для полнотекстового поиска:
Есть двумерный массив чисел, его нужно вывести в TableView
Есть загрузчик данных с HTTP, на выходе он выдает объект типа File, как мне его сохранить в папку с приложением?