如何设置或取消设置当前PHP会话

Kau*_*hia 1 php session login

我的php项目中的人我想查看登录页面会话的状态..如果它未设置我希望用户登录.我已经将此代码添加到登录页面,但它循环时没有帮助.

if (strlen(session_id()) < 1) {
    ?>
    <script>window.location.href="login.php";</script>  
    <?php     
}
elseif(strlen(session_id()) > 1){ 
    ?>   
    <script>window.location.href="index.php";</script>   
    <?php 
}
Run Code Online (Sandbox Code Playgroud)

现在我想要的另一件事是如果会话已经开始,如果用户手动尝试从地址栏进入登录页面,他应该被重定向回当前页面.

如果他没有登录,如果他试图直接打开任何页面,他应该被重定向回登录页面.

另外一个新的疑问是,
我使用wamp服务器来运行我的PHP项目.我在我的项目中使用了PHP会话,现在当用户从一个项目登录时,会话被设置,如果在同一台PC上,如果用户打开其他项目如果他从一个项目注销他从该PC上运行的所有其他项目注销,那么他们没有相互链接,他甚至没有直接登录.

Luk*_*kas 6

试试这个:

<?php
    session_start();
    if(isset($_SESSION['logged_in']) && $_SESSION['logged_in'] == 1) {
        //session is set
        header('Location: /index.php');
    } else if(!isset($_SESSION['logged_in']) || (isset($_SESION['logged_in']) && $_SESSION['logged_in'] == 0)){
        //session is not set
        header('Location: /login.php');
    }
?>
Run Code Online (Sandbox Code Playgroud)

在回复上述评论时,是的,您应该在用户登录时创建会话变量.编辑代码以反映它.