> 백엔드 개발 > PHP 문제 > PHP 로그인 세션 시간이 초과된 경우 수행할 작업

PHP 로그인 세션 시간이 초과된 경우 수행할 작업

coldplay.xixi
풀어 주다: 2023-03-05 07:12:01
원래의
2854명이 탐색했습니다.

PHP 로그인 시간 초과 세션에 대한 해결 방법: 먼저 로그인할 때 세션을 사용하여 로그인 시간을 기록한 다음 페이지가 열리면 세션이 존재하지 않는지 판단한 다음 로그인 페이지로 돌아갑니다. , 세션이 존재하는 경우 페이지 로딩 시간을 로그인 시간과 비교하십시오. 마지막으로 시간 초과보다 크면 삭제하십시오.

PHP 로그인 세션 시간이 초과된 경우 수행할 작업

【관련 학습 권장 사항: php 프로그래밍(동영상)】

php 로그인 시간 초과 세션 해결 방법:

php 로그인 시간 초과 세션 문제, 원칙은 다음과 같습니다.

1. 세션에 로그인 시간이 기록됩니다.

$_SESSION['time']=time();
로그인 후 복사

2. 페이지가 열리면 세션이 없는 것으로 판단하고 세션이 있으면 페이지 로딩 시간과 로그인 시간을 비교합니다. 시간 초과보다 크면 세션을 삭제하십시오. 시간 초과 후 로그인 시간 세션 값을 업데이트하십시오!

로그인 코드:

public function login(){
        if($_POST){
            $where['username']=$_POST['username'];
            $where['password']=md5("php100".$_POST['password']);
            $users=M('users')->where($where)->find();
            if($users){
                $_SESSION['id']=$users['id'];
                $_SESSION['user_shell']=md5($users['username'].$users['password']);
                $_SESSION['time']=time();
                $this->redirect('Index/index');
            }else{
                echo "";
            }
        }else{
            $this->display();
        }
    }
로그인 후 복사

공용 컨트롤러 생성자 코드:

public function _initialize()
    {
        if(isset($_SESSION['user_shell'])){
            if(time()-$_SESSION['time']>60){
                unset($_SESSION['user_shell']);
                $url=U('Login/login');
                Header("Location:$url");
            }else{
                $_SESSION['time']=time();
            }
        }else{
            $url=U('Login/login');
            Header("Location:$url");
        }
    }
로그인 후 복사

[관련 학습 권장 사항: php 그래픽 튜토리얼]

위 내용은 PHP 로그인 세션 시간이 초과된 경우 수행할 작업의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿