Задать вопрос
@Naamee
Кроткий текст

Почему не обрабатывает скрипт?

короче говоря веду форму авторизации логи ни пароль все правильно проверял с помощью print_ r все введенный данные совпадают с данными в бд, но по какой-то причине у меня пишет неверный логин или пароль, хотя все указано верно. В чем проблема так и не понимаю
Вот обработчик:
$db = new PDO('mysql:host=localhost;dbname=site', 'root', '');
if(isset($_POST['submit1'])) {
$result= $db->prepare('SELECT mail, password FROM accreg WHERE mail=:mail LIMIT 1');
$result -> bindParam(':mail', $_POST['mail'], PDO::PARAM_STR);
$result -> execute();
$data = $result->fetch();
if($data['password'] == md5($_POST['password'])) {
echo 'Все работает';
}
else {
echo 'Неверный логин или пароль';
}
}
?>

Форма авторизации:
<form action="chek.php" method="post">
  <input type="text" name="mail" placeholder="Логин Эл. почта" id="formlog"></br>
  <input type="password" name="password"   placeholder="Пароль" id="formpass"></br>
  <input type="submit" name="submit1" value="Авторизоваться" id="open"></br>
  </form>

Без расшифровки все работает
  • Вопрос задан
  • 202 просмотра
Подписаться 1 Простой 5 комментариев
Ответ пользователя Pretor DH К ответам на вопрос (2)
PretorDH
@PretorDH
HTML5, CSS3, PHP, JS - люблю в чистом виде.
$result -> bindValue(':mail', $_POST['mail'], PDO::PARAM_STR);      
   // Параметр из массива не тянется... только значение


P.S. md5 ОБЯЗАТЕЛЬНО выкинь из паролей, пользуйся как минимум sha. Изучи функцию password_hash...
Ответ написан