<?php
$host = "localhost";
$username = "x";
$password = "x";
$dbname = "x";
// Veritabanı
$conn = new mysqli($host, $username, $password, $dbname);
// Hata kontrolü
if ($conn->connect_error) {
die("Veritabanına bağlantı sağlanamadı: " . $conn->connect_error);
}
// Verileri post etme
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$email = $_POST["email"];
$password = $_POST["password"];
// Veritabanından kullanıcıyı sorgulama
$stmt = $conn->prepare("SELECT password FROM users WHERE email = ?");
$stmt->bind_param("s", $email);
$stmt->execute();
$stmt->store_result();
// Kullanıcı bulunursa şifreyi doğrula
if ($stmt->num_rows > 0) {
$stmt->bind_result($hashed_password);
$stmt->fetch();
if (password_verify($password, $hashed_password)) {
// Kullanıcı doğrulandı, yönlendir
session_start();
$_SESSION["email"] = $email;
header("Location: dashboard.php");
exit;
} else {
echo "Geçersiz şifre";
}
} else {
echo "Geçersiz e-posta adresi";
}
$stmt->close();
}
?>Bu benim index.html'den giriş yap butonuna tıklayınca dashboard.php'ye yönlendirmesi gereken giris.php dosyam. E-postayı doğru girince doğru, yanlış girince yanlış olduğunu giris.php'ye atarak söylüyor fakat şifreyi doğru da girsem yanlış da girsem sürekli "Geçersiz şifre" hatası alıyorum bu yüzden dashboard.php'ye gidemiyorum. SQL'de aşağı kodları çalıştırarakta "users" tablosunu oluşturup bilgileri içine koydum.1:
CREATE TABLE users ( id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL, email VARCHAR(100) NOT NULL, password VARCHAR(255) NOT NULL );2:
INSERT INTO users (name, email, password)
VALUES ('John Doe', 'johndoe@example.com', '$2y$10$wYF/t11nN/ho5i7yzC6OLO5SE5si5y5Ei/CbryREvp5QLwL7zDZ5C');
INSERT INTO users (name, email, password)
VALUES ('Jane Doe', 'janedoe@example.com', '$2y$10$wYF/t11nN/ho5i7yzC6OLO5SE5si5y5Ei/CbryREvp5QLwL7zDZ5C');şifreyi de hashli şekilde sql'e ve giris.php'ye kaydettim ama hata nerede bulamıyorum. database bilgilerim doğru, php sürümü son sürüm. şifre normalde admin123456