v2.5.2
Giriş yap

php session kullanımı

kreawich
708 defa görüntülendi

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.

Cevap yaz
Cevaplar (3)
coder
1137 gün önce

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");
	}
?>
kreawich
1137 gün önce

Coder teşekkürler ama çalışmadı.

Acaba index.php sayfasında sadece session kontrolü mü olmalı?

Giriş yapışmıssa panel.php yönlendir
Giriş yapılmamışssa giris.php yönlendir.

coder
1137 gün önce

Merhaba.

index.php sayfasının başına şu kodu ekleyip deneyin.

<?php if(isset($_SESSION['user_name'])){ header("Location: panel.php"); } ?>