登录后如何防止返回登录页面

问题描述 投票:-1回答:1

我用php开发了一个网站。 index.php是一个登录表单。登录dashboard.php即将到来。但是当我按下浏览器中的后退按钮时,它会重定向到登录页面。如何防止它。如果有任何解决方案请告诉。提前致谢。代码如下:

的index.php

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title></title>
    <!-- Latest compiled and minified CSS -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
    <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css" integrity="sha384-fnmOCqbTlWIlj8LyTjo7mOUStjsKC4pOpQbqyi7RrhN7udi9RwhKkMHpvLbHG9Sr" crossorigin="anonymous">
    <link rel="stylesheet" type="text/css" href="style.css">

    <!-- jQuery library -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

    <!-- Latest compiled JavaScript -->
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>
</head>
<body style="background-image: url('https://www.pixelstalk.net/wp-content/uploads/2016/05/HD-Black-Picture.jpg');">

    <section id="login">
        <div class="container">
            <div class="row">
                <div class="col-sm-2"></div>
                <div class="col-sm-8 col1">
                    <div class="row">
                        <div class="col-sm-7 co2">
                            <h1 class="h1">Orbit Shifters Employee Site</h1>
                            <h2 class="h2">Login Here <i class="fas fa-long-arrow-alt-right"></i></h2>
                        </div>
                        <div class="col-sm-5 co1">
                            <form method="post" action="func.php">
                                <div>
                                    <input type="text" name="username" class="i1" placeholder="Enter Your Username">
                                </div>
                                <div>
                                    <input type="password" name="password" class="i1" placeholder="Enter Your Password">
                                </div>
                                <div>
                                    <input type="submit" name="submit" class="btn btn1">
                                </div>
                            </form>
                        </div>
                    </div>
                </div>
                <div class="col-sm-2"></div>
            </div>
        </div>
    </section>

</body>
</html>

func.php

<?php 
session_start();
$con=mysqli_connect("localhost","root","","login");
$connect = new PDO('mysql:host=localhost;dbname=login', 'root', '');
if(isset($_POST['submit'])){
    $username=$_POST['username'];
    $password=$_POST['password'];
    $query="select * from signup where username='$username' and password='$password';";
    $result=mysqli_query($con,$query);
    $row=mysqli_fetch_assoc($result);
    if(mysqli_num_rows($result)==1)
    {
        $_SESSION["username"] = $username;
        $_SESSION['status']="Active";
        header("Location:dashboard.php?name=".$row['name']);
        exit;
    }
    else{
        echo "<script>alert('Enter Correct Details!!')</script>";
        echo "<script>window.open('index.php', '_self')</script>";
    }
}
?>

dashboard.php

<?php

session_start();

if($_SESSION['status']!="Active")
{
    header("location:index.php");
}
else{
    $name=$_GET['name'];
?>

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title></title>
    <!-- Latest compiled and minified CSS -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
    <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css" integrity="sha384-fnmOCqbTlWIlj8LyTjo7mOUStjsKC4pOpQbqyi7RrhN7udi9RwhKkMHpvLbHG9Sr" crossorigin="anonymous">
    <link rel="stylesheet" type="text/css" href="style.css">

    <!-- jQuery library -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

    <!-- Latest compiled JavaScript -->
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>
</head>
<body style="background:url(https://i.pinimg.com/originals/e5/f3/af/e5f3af2b9186af6e86187c84f4ad930e.jpg);">
    <nav class="navbar navbar-inverse">
      <div class="container">
        <div class="navbar-header">
          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span> 
          </button>
          <a class="navbar-brand" href="dashboard.php?name=<?php echo $name; ?>">Dashboard</a>
        </div>
        <div class="collapse navbar-collapse" id="myNavbar">
          <ul class="nav navbar-nav navbar-right">
            <li class="li1"><a href="logout.php"><span class="glyphicon glyphicon-log-in"></span> Logout</a></li>
          </ul>
        </div>
      </div>
    </nav>

    <section id="dashboard">
        <div class="container">
            <div class="row ro1">
                <p class="p1"> Hello <?php echo $name; ?>, Welcome to Orbit Shifters EMployee Site.</p>
            </div>
            <div class="ro1">
                <div class="col-sm-4 col2">
                    <a href="project1.php?name=<?php echo $name; ?>"><button class="btn btn2">Project 1 <br>Report <br>Submission</button></a>
                </div>
                <div class="col-sm-4 col2">
                    <button class="btn btn2">Project 2 <br>Monthly Report <br>Submission</button>
                </div>
                <div class="col-sm-4 col2">
                    <button class="btn btn2">Project 3 <br>Feedback <br>Submission</button>
                </div>
            </div>
        </div>
    </section>

</body>
</html>

<?php 
}
 ?>

logout.php

<?php
session_start();
session_destroy();
$_SESSION = array();
unset($_SESSION['username']);
unset($_SESSION['status']);
header("Location:index.php");
?>
php session login
1个回答
0
投票

我不确定我是否正确理解了问题,但如果您在index.php文件的开头添加一个检查,如果您已登录,会将您重定向到仪表板,该怎么办?像这样的东西

// index.php
<?php
session_start();
if (isset($_SESSION['status']) && $_SESSION['status'] === "Active") {
    header("location: dashboard.php");
}
?>

<!DOCTYPE html>
<html>
<head>
...

这样,如果您在浏览器中单击后退,您仍将转到index.php,但如果您已经登录,则会再次重定向到仪表板

© www.soinside.com 2019 - 2024. All rights reserved.