Bu Konuyu Örnek Olarak Açıyorum.
index.php
index.php
PHP:
<?php
session_start();
if (isset($_SESSION['username'])) {
header("Location: main.php");
exit();
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Ana Sayfa</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
</head>
<body>
<div class="container mt-5">
<div class="row justify-content-center">
<div class="col-md-4 text-center">
<h2>Hoş Geldiniz!</h2>
<p>Lütfen devam etmek için giriş yapın veya kayıt olun.</p>
<a href="login.php" class="btn btn-primary btn-lg mr-2">Giriş Yap</a>
<a href="register.php" class="btn btn-success btn-lg ml-2">Kayıt Ol</a>
</div>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
login.php
PHP:
<?php
session_start();
if (isset($_SESSION['username'])) {
header("Location: main.php");
exit();
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Giriş Yap</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
</head>
<body>
<div class="container mt-5">
<div class="row justify-content-center">
<div class="col-md-4">
<h2 class="text-center mb-4">Giriş Yap</h2>
<form action="login_process.php" method="post">
<div class="form-group">
<input type="text" class="form-control" name="loginUsername" placeholder="Kullanıcı Adı" required>
</div>
<div class="form-group">
<input type="password" class="form-control" name="loginPassword" placeholder="Şifre" required>
</div>
<button type="submit" class="btn btn-primary btn-block">Giriş Yap</button>
</form>
</div>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
register.php
PHP:
<?php
session_start();
if (isset($_SESSION['username'])) {
header("Location: main.php");
exit();
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Kayıt Ol</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
</head>
<body>
<div class="container mt-5">
<div class="row justify-content-center">
<div class="col-md-4">
<h2 class="text-center mb-4">Kayıt Ol</h2>
<form action="register_process.php" method="post">
<div class="form-group">
<input type="text" class="form-control" name="username" placeholder="Kullanıcı Adı" required>
</div>
<div class="form-group">
<input type="password" class="form-control" name="password" placeholder="Şifre" required>
</div>
<button type="submit" class="btn btn-success btn-block">Kayıt Ol</button>
</form>
</div>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
main.php
PHP:
<?php
session_start();
if (!isset($_SESSION['username'])) {
header("Location: index.php");
exit();
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>E-Ticaret Sitesi</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
</head>
<body>
<nav class="navbar navbar-expand-md navbar-dark bg-dark fixed-top">
<a class="navbar-brand" href="#">E-Ticaret</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarCollapse">
<ul class="navbar-nav ml-auto">
<li class="nav-item">
<a class="nav-link" href="#">Sepet</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Favoriler</a>
</li>
<?php if(isset($_SESSION['username'])): ?>
<li class="nav-item">
<a class="nav-link" href="#"><?php echo $_SESSION['username']; ?></a>
</li>
<?php endif; ?>
</ul>
</div>
</nav>
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
login_process.php
PHP:
<?php
session_start();
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$loginUsername = $_POST['loginUsername'];
$loginPassword = $_POST['loginPassword'];
$servername = "localhost";
$db_username = "webtht";
$db_password = "webtht123*";
$dbname = "webtht";
$conn = new mysqli($servername, $db_username, $db_password, $dbname);
if ($conn->connect_error) {
die("Bağlantı hatası: " . $conn->connect_error);
}
$fetch_query = "SELECT * FROM users WHERE username='$loginUsername'";
$result = $conn->query($fetch_query);
if ($result->num_rows > 0) {
$row = $result->fetch_assoc();
if (password_verify($loginPassword, $row['password'])) {
$_SESSION['username'] = $loginUsername;
header("Location: main.php");
exit();
} else {
echo "Hatalı şifre!";
}
} else {
echo "Kullanıcı bulunamadı!";
}
$conn->close();
}
?>
register_process.php
PHP:
<?php
session_start();
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$username = $_POST['username'];
$password = $_POST['password'];
$hashed_password = password_hash($password, PASSWORD_DEFAULT);
$servername = "localhost";
$db_username = "webtht";
$db_password = "webtht123*";
$dbname = "webtht";
$conn = new mysqli($servername, $db_username, $db_password, $dbname);
if ($conn->connect_error) {
die("Bağlantı hatası: " . $conn->connect_error);
}
$insert_query = "INSERT INTO users (username, password) VALUES ('$username', '$hashed_password')";
if ($conn->query($insert_query) === TRUE) {
header("Location: login.php");
exit();
} else {
echo "Hata: " . $conn->error;
}
$conn->close();
}
?>