Я совсем новичек в php, хотел сделать простую страницу регистрация\авторизация. Регистрацию сделал без проблем, а вот с авторизацией вопрос. При регистрации я хеширую, или как там правильно, через md5(), как его сравнить с введенным при авторизации паролем?!? Сначала попробовал просто их сравнить, потом понял что это уж очень глупо, тоже хешировал введеный пароль и сравнил, но тоже чего-то не работает(
Как правильно написали в комментариях, md5 - не шифрование, а хэширование. И использовать MD5 для "защиты" паролей нельзя. Использовать надо специально предназначенные для этого функции, password_hash() и password_verify().
Это означает, в частности, что в запросе проверить валидность пароля нельзя, надо сначала достать его из БД, а потом проверить соответствующий функцией. Пример того, как это правильно сделать при использовании подготовленных выражений в PDO, можно посмотреть здесь
Нужно вычислить хеш от введенного пароля и сравнить хеши введенного пароля с сохраненным.
Скажем, так
SELECT
id
FROM
users
WHERE
name = :name AND
password_hash = MD5(:password);
Продвижение своими сайтами как стратегия роста и независимости