<?php
$errors = [];
if ($_SERVER["REQUEST_METHOD"] === "POST"){
$email = $_POST['email'];
$password = $_POST['password'];
if ($_SERVER["REQUEST_METHOD"] === "POST") {
if (empty($email) || empty($password)) {
$errors[] = "Wypełnij wszystkie pola";
} elseif (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$errors[] = "Podany adres e-mail jest nieprawidłowy.";
}
}
if (empty($errors)){
$conn = new mysqli("localhost", "root", "", "forumapporsmth");
if($conn->connect_error){
die("Błąd połączenia z bazą danych. Przepraszamy za problemy");
}
$query = "SELECT email, haslo FROM users WHERE email = '$email'";
$result = $conn->query($query);
if ($result->num_rows == 1) {
$row = $result->fetch_assoc();
$hashedPassword = $row['haslo'];
if (password_verify($password, $hashedPassword)) {
session_start();
$_SESSION['email'] = $email;
$query = "SELECT imie FROM users WHERE email = '$email'";
$result = $conn->query($query);
$user = $result->fetch_assoc();
$imie = $user['imie'];
$_SESSION['imie'] = $imie;
header('Location: ./main/main.php');
exit();
} else {
$errors[] = "Nieprawidłowe hasło";
}
} else {
$errors[] = "Nieprawidłowy e-mail";
}
}
}
?>
Siemka. W bazie danych w tabeli users znajduje sie kolumna "haslo" ktora przechowuje hashowane podczas rejestracji haslo. Jednak podczas logowania po wpisaniu ,,pierwotnego" hasla nie moge sie zalogowac do main.php (wyswietla mi blad o nieprawidlowym hasle). Czy moglby ktos podpowiedziec gdzie lezy blad?