销毁问题-注销结束会话


Issue on Destroying - Ending Session on Logout

我有一个这样设置的会话:

<?php
session_start();
include 'conconfig.php';
$con = new mysqli(DB_HOST,DB_USER,DB_PASS,DB_NAME);
 $email = $_POST['email'];
 $pass =  $_POST['pass'];
 $query = "SELECT * FROM tempusers WHERE user='$email' AND pass='$pass'";
 $result = mysqli_query($con,$query)or die(mysqli_error());
 $num_row = mysqli_num_rows($result);
 $row=mysqli_fetch_assoc($result);
 if( $num_row >=1 ) {
  echo 'true';
     $_SESSION['uName'] = $row['uName'];
  }
 else{
  echo 'false';
 }
?>

在我的登录.php中,我有

<?php
    session_start();
    session_unset(); 
    unset($_SESSION['uName']);
    session_destroy();
    header("Location:index.php");
?>

session_unset();unset()session_destroy();似乎都不起作用,因为进入页面后,我仍然可以使用浏览器的"返回"按钮返回受限页面!除了header()没有将页面更改为index.php之外,你能告诉我我做错了什么,以及我该如何修复吗?

基本上,我在受限页面中有一个注销链接,就像这个

<a href="logout.php" >Logout</a>

感谢

更新:这是我在限制页面顶部的会话代码

<?php
 session_start();
  if(empty($_SESSION['uName'])){
     header('Location: login.php');
}
?>

尝试重新生成会话id并销毁所有数据。

<?php
    session_start();
    session_unset();
    session_destroy();
    session_write_close();
    setcookie(session_name(), '', 0, '/');
    session_regenerate_id(true);
    header("Location:index.php");
    exit();
?>