无法使用 PHP 会话重定向到正确的页面

Cannot Redirect to the correct page using PHP session

在我的应用程序中,我有 4 个角色。根据角色,用户可以查看他们访问的不同页面。目前我正在维护 2 个不同的会话。 $_SESSION['user_id']$_SESSION['role_id'].

我的问题是,假设我们说 role_id =1Adminrole_id=2Doctor。如果我以 Admin 身份从此会话注销并以 Doctor 身份登录该站点。然后我在 web browser 中单击后退按钮,它将重定向到 Admin page。我不想 redirectAdmin page,只是我想留在同一页。

我在这里使用了这个代码来重定向但是没有用。

 //  redirect to main page according to the user role 
     if(isset($_SESSION['user_id']) && $_SESSION['role_id'] == 1){//admin
        header("location: index-2.php");
        exit;
     }

     if(isset($_SESSION['user_id']) && $_SESSION['role_id'] == 2){ // doctor
        header("location: index.php");
        exit;
     }
     
     if(isset($_SESSION['user_id']) && $_SESSION['role_id'] == 3){// lab
        header("location: index-lab.php");
        exit;
     }

     if(isset($_SESSION['user_id']) && $_SESSION['role_id'] == 4){// recep
        header("location: index-recep.php");
        exit;
     }

我不知道我哪里做错了。有人可以帮助我吗?非常感谢任何帮助。

作为Cid mentioned, the cache is loaded when you click the back button. This isn't something I've really tried, but you could try setting cache settings for your application to prevent the pages from being cached. See How do we control web page caching, across all browsers?