php session kullanımı
Merhaba, Şu şekilde giriş sayfam mevcut,
// <!DOCTYPE html>
<html lang="tr">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<title>Yönetici Girişi</title>
<!-- Custom fonts for this template-->
<link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
<link
href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i"
rel="stylesheet">
<!-- Custom styles for this template-->
<link href="css/sb-admin-2.min.css" rel="stylesheet">
</head>
<body class="bg-gradient-primary">
<div class="container">
<!-- Outer Row -->
<div class="row justify-content-center">
<div class="col-xl-10 col-lg-12 col-md-9">
<div class="card o-hidden border-0 shadow-lg my-5">
<div class="card-body p-0">
<!-- Nested Row within Card Body -->
<div class="row">
<div class="col-lg-6 d-none d-lg-block bg-login-image"></div>
<div class="col-lg-6">
<div class="p-5">
<div class="text-center">
<h1 class="h4 text-gray-900 mb-4">Yönetici Girişi</h1>
</div>
<form action="login.php" class="user" method="post">
<div class="form-group">
<?php if (isset($_GET['error'])) { ?>
<p class="error-message"><?php echo $_GET['error']; ?></p>
<?php } ?>
<input type="text" name="uname" class="form-control form-control-user"
id="exampleInputEmail" aria-describedby="emailHelp"
placeholder="Kullanıcı adı">
</div>
<div class="form-group">
<input type="password" name="password" class="form-control form-control-user"
id="exampleInputPassword" placeholder="Şifre">
</div>
<div class="form-group">
<div class="custom-control custom-checkbox small">
<input type="checkbox" class="custom-control-input" id="customCheck">
<label class="custom-control-label" for="customCheck">Beni Hatırla</label>
</div>
</div>
<button class="btn btn-primary btn-user btn-block" type="submit">Giriş Yap</button>
<hr>
<a href="index.html" class="btn btn-google btn-user btn-block">
<i class="fab fa-google fa-fw"></i> Google ile Giriş Yap
</a>
<a href="index.html" class="btn btn-facebook btn-user btn-block">
<i class="fab fa-facebook-f fa-fw"></i> Facebook ile Giriş Yap
</a>
</form>
<hr>
<div class="text-center">
<a class="small" href="forgot-password.html">Şifremi Unuttum</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Bootstrap core JavaScript-->
<script src="vendor/jquery/jquery.min.js"></script>
<script src="vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
<!-- Core plugin JavaScript-->
<script src="vendor/jquery-easing/jquery.easing.min.js"></script>
<!-- Custom scripts for all pages-->
<script src="js/sb-admin-2.min.js"></script>
</body>
</html>
ve login.php sayfam şu şekilde.
// <?php
session_start();
include "db_conn.php";
if (isset($_POST['uname']) && isset($_POST['password'])) {
function validate($data){
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
$uname = validate($_POST['uname']);
$pass = validate($_POST['password']);
if (empty($uname)) {
header("Location: index.php?error=Kullanıcı adı gerekli");
exit();
}else if(empty($pass)){
header("Location: index.php?error=Şifre gerekli");
exit();
}else{
$pass = md5($pass);
$sql = "SELECT * FROM users WHERE user_name='$uname' AND password='$pass'";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) === 1) {
$row = mysqli_fetch_assoc($result);
if ($row['user_name'] === $uname && $row['password'] === $pass) {
$_SESSION['user_name'] = $row['user_name'];
$_SESSION['name'] = $row['name'];
$_SESSION['id'] = $row['id'];
header("Location: panel.php");
exit();
}else{
header("Location: index.php?error=Kullanıcı adı veya şifre hatalı");
exit();
}
}else{
header("Location: index.php?error=Kullanıcı adı veya şifre hatalı");
exit();
}
}
}else{
header("Location: index.php");
exit();
}
index.php sayfasından giriş yapıyorum ve giriş başarılı ise beni panel.php sayfasına yönlendiriyor. Oturum açık iken index.php sayfasını açarsam sayfa görüntüleniyor. İstediğim şey oturum açık ise index.php sayfasından panel.php sayfasına yönlendirmesi. Bunu nasıl yapabilirim.
Bunu index.php dosyasının başına yazıp deneyin.
<?php
session_start();
// Oturum açılmışsa panel.php'ye yönlendir.
if(isset($_SESSION['user_name'])){
header("Location: panel.php");
}else{
// Oturum açılmadıysa login.php'ye yönlendir.
header("Location: login.php");
}
?>