problem polega na tym, że jeśli podam poprawne hasło i logi to nie zaloguje mnie tylko mi wyrzuci błąd niepoprawne hasło; jak rozwiązać ten problem .
Domyślam się że problem leży tutaj(
if($dane['haslo'] === $hash)
) przy sprawdzaniu hasła.
<?php
if(isset($_POST['wyslij'])){
$haslo = $_POST['haslo'];
$sol = md5("192.168.0.1"); //sól użytkownika pobierana z bazy
$sol2 = sha1("qOR8Dm1L"); //sól dodatkowa
$hash = hash('sha512', $haslo . $sol . $sol2);
if(!empty($_POST['login']) && !empty($_POST['haslo'])){
$sprawdzanie = $pdo->prepare("SELECT * FROM uzytkownicy WHERE user = ?");
try{
$sprawdzanie->bindValue(1, $_POST['login']);
$sprawdzanie->execute();
if($sprawdzanie->rowCount()>0){
$dane = $sprawdzanie->fetch(PDO::FETCH_ASSOC);
if($dane['haslo'] === $hash){
$_SESSION['id'] = $dane['id'];
echo "Zalogowany";
}else echo "niepoprawne hasło";
}else echo"Niepoprawny Login";
}catch(PDOException $e){
$e->getMessage();
}
}else echo"Brak wypełnionego formularza";
}
?>