paricfy
Hectopat
- Katılım
- 21 Mayıs 2022
- Mesajlar
- 1.134
- Çözümler
- 1
Daha fazla
- Cinsiyet
- Erkek
Merhaba önce size nasıl bir şey düşündüğümü özetleyeyim daha hakim olabilmeniz için. Tasarladığım sitede ilan yükleme sistemi olacak. Yani siteye yeni bir ürün eklemek için kaynak kodunda değişiklik yapılmayacak. Satıcı giriş yapıp kendi panelinden ilan yükleyecek ve o ilan SQL tablosuna eklenip ürünler sayfasında gözükecek. Ama ben daha buraya gelemeden hata alıyorum. Şöyle ki sitede giriş yaparken kullanıcı bilgileri SQL'den çekiliyor. Yani sitenin girilen kullanıcı bilgileri SQL de users tablomda varsa dierkt giriş yapılmış olması lazım ama bu kısımda otomatik kaynak kodunu gösteren bir sayfaya atıyor. Sitenin temeli HTML5 ve CSS fakat SQL bağlantılarını PHP ile yapıyorum. Gerekli kodları aşağıya ekleyeceğim.
"saticigiris.html"
"saticigiris.php"
"config.php"
"db_connection.php"
Yönlendirmelerde de görebileceğiniz üzere şifre eğer doğruysa yoneticipanel.html e atması gerekiyor fakat şifre doğru olunca saticigiris.php ye atıyor ve attığı yerde sadece ekranda saticigiris.phpnin kodu yazıyor. Yukarıda sadece hata ile bağlantısı olabilecek yerleri attım diğer yerlerin çok bir bağlantısı yok burayla. Normalde konu açmıyorum böyle şeyler için ama 1 kaç gündür çözemediğim bir hata ve başka bir bakış açısı ile bakılırsa belki çözülebilir umuduyla atıyorum.
"saticigiris.html"
HTML:
<!DOCTYPE html>
<html lang="tr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Satıcı Girişi</title>
<link rel="stylesheet" href="firmaadi.css">
<link rel="stylesheet" href="saticigiris.css">
</head>
<body>
<header>
<h1>Satıcı Girişi</h1>
</header>
<main>
<form action="saticigiris.php" method="post">
<div class="form-group">
<label for="username">Kullanıcı Adı:</label>
<input type="text" id="username" name="username" required>
</div>
<div class="form-group">
<label for="password">Şifre:</label>
<input type="password" id="password" name="password" required>
</div>
<div class="form-group">
<button type="submit">Giriş Yap</button>
</div>
</form>
</main>
<footer>
<p>© 2024 Firma Adi. Tüm Hakları Saklıdır.</p>
</footer>
</body>
</html>
"saticigiris.php"
PHP:
<?php
include 'db_connect.php';
if ($_SERVER["REQUEST_METHOD"] == "POST") {
echo "POST isteği alındı.<br>";
$username = $_POST['username'];
$password = $_POST['password'];
echo "Kullanıcı adı: " . htmlspecialchars($username) . "<br>";
echo "Şifre: " . htmlspecialchars($password) . "<br>";
$sql = "SELECT password FROM users WHERE username = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param('s', $username);
$stmt->execute();
$stmt->bind_result($hashedPassword);
$stmt->fetch();
echo "Veritabanından gelen şifre: " . htmlspecialchars($hashedPassword) . "<br>";
if (password_verify($password, $hashedPassword)) {
header("Location: yoneticipanel.html");
exit();
} else {
echo "Giriş başarısız!";
}
$stmt->close();
$conn->close();
} else {
echo "Yalnızca POST yöntemi ile erişilebilir.";
}
?>
"config.php"
PHP:
<?php
$servername = "Sql ismi burada yer alıyor";
$username = "";
$password = "";
$dbname = "db ismi burada";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Bağlantı hatası: " . $conn->connect_error);
} else {
echo "Veritabanına başarıyla bağlandı.";
}
?>
"db_connection.php"
PHP:
<?php
$servername = "SQL adim burada yer alıyor";
$username = "";
$password = "";
$dbname = "db ismi burada";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Bağlantı hatası: " . $conn->connect_error);
}
?>
Yönlendirmelerde de görebileceğiniz üzere şifre eğer doğruysa yoneticipanel.html e atması gerekiyor fakat şifre doğru olunca saticigiris.php ye atıyor ve attığı yerde sadece ekranda saticigiris.phpnin kodu yazıyor. Yukarıda sadece hata ile bağlantısı olabilecek yerleri attım diğer yerlerin çok bir bağlantısı yok burayla. Normalde konu açmıyorum böyle şeyler için ama 1 kaç gündür çözemediğim bir hata ve başka bir bakış açısı ile bakılırsa belki çözülebilir umuduyla atıyorum.