Не могу разобраться что я делаю не так.
Есть в БД например логин admin и пароль admin
В форме ввожу логин admin и пароль admin
include_once 'connectDB.php';
if (isset($_POST['entry'])) {
$login = $_POST['login'];
$password = password_hash($_POST['password'], PASSWORD_BCRYPT, ['cost' => 12]);
$sql = $pdo->prepare("SELECT login, password FROM dataname WHERE login=? AND password=?");
$sql->execute([$login, $password]);
$data = $sql->fetch();
if ($data['login'] == $login and $data['password'] == $password) {
echo 'YES';
}
else {
echo 'NO';
}
}
и он мне пишет что такого нет, как я понимаю что что то не совпадает.
а если я убираю пароль то логины совпадают
include_once 'connectDB.php';
if (isset($_POST['entry'])) {
$login = $_POST['login'];
$password = password_hash($_POST['password'], PASSWORD_BCRYPT, ['cost' => 12]);
$sql = $pdo->prepare("SELECT login FROM dataname WHERE login=?");
$sql->execute([$login]);
$data = $sql->fetch();
if ($data['login'] == $login) {
echo 'YES';
}
else {
echo 'NO';
}
}
Регистрация
include_once 'connectDB.php';
if (isset($_POST['go'])) {
$login = $_POST['login'];
$password = password_hash($_POST['password'], PASSWORD_BCRYPT, ['cost' => 12]);
if(!empty($login)) {
$sql = $pdo->prepare("INSERT INTO dataname(login, password) VALUES (?, ?)");
$sql->execute([$login, $password]);
echo "YES" ;
}
else {
echo "NO";
}
}
?>
Вход
include_once 'connectDB.php';
if (isset($_POST['entry'])) {
$login = $_POST['login'];
$password = password_hash($_POST['password'], PASSWORD_BCRYPT, ['cost' => 12]);
$sql = $pdo->prepare("SELECT login, password FROM dataname WHERE login=? AND password=?");
$sql->execute([$login, $password]);
$data = $sql->fetch();
if ($data['login'] == $login and $data['password'] == $password) {
echo 'YES';
}
else {
echo 'NO';
}
}