> 백엔드 개발 > PHP 튜토리얼 > ThinkPHP_php 예제의 세션 사용법에 대한 자세한 설명

ThinkPHP_php 예제의 세션 사용법에 대한 자세한 설명

WBOY
풀어 주다: 2016-05-16 20:29:49
원래의
1394명이 탐색했습니다.

이 기사의 예에서는 ThinkPHP에서 Session의 사용법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 내용은 다음과 같습니다.

Session 클래스는 ThinkPHP에 캡슐화되어 있으며 사용자가 이를 직접 사용할 수 있습니다.

Session::set(name, value): 세션을 등록합니다.

Session::is_set(name): Session 값이 설정되어 있는지 확인하세요.

세션::get(이름): 세션 읽기.

Session::clear(): 세션을 지웁니다.

Session::destroy(): 세션을 제거합니다.

ThinkPHP는 기본적으로 세션을 열기 때문에 Session 클래스를 사용하기 전에 session_start() 함수를 사용하여 세션을 열 필요가 없습니다.

세션 인스턴스 사용

다음으로 양식 제출을 통해 세션을 등록하고 다른 두 페이지의 작업에서 템플릿 모드와 Session::get 모드의 세션 값을 읽습니다.

세션 등록

사용자 모듈 세션테스트 작업 등록 세션 예:

코드 복사 코드는 다음과 같습니다.
class UserAction은 Action을 확장합니다{
공개 함수 세션(){
if(!emptyempty($_POST['사용자 이름'])){
세션::set('사용자 이름',$_POST['사용자 이름'])
}
$this->디스플레이()
}
}

sessionTest.html 템플릿(조각):
코드 복사 코드는 다음과 같습니다.

<현재 이름="_SESSION['username']">{$_SESSION['username']} 안녕하세요!
홈페이지 이 모듈의 다른 페이지 로그아웃사용자 이름을 입력하세요:




사용자 이름(예: testuser)을 입력하고 제출 버튼을 클릭하면 sessionTest 메서드(즉, 현재 페이지)에 제출되어 세션 값을 처리하고 등록합니다. 존재하는 템플릿 태그는 출력 논리를 제어하는 ​​데 사용됩니다. $_SESSION['username']이(가) 등록된 것으로 감지되었습니다. 변수가 출력됩니다:

테스트 사용자 안녕하세요! 홈 로그아웃

그렇지 않으면 양식이 출력됩니다.

세션 등록 여부 확인

템플릿에서 감지

템플릿에서 현재 또는 비어 있지 않음 등의 태그를 직접 사용하거나 심지어 스위치를 사용하여 세션 변수가 등록되었는지 확인하여 해당 세션 값을 출력할지 여부를 결정할 수 있습니다(세션 변수 값을 배열 형태로 직접 출력) 단위) 또는 다른 페이지 요소를 표시합니다. 구체적으로 이 튜토리얼의 템플릿 태그 부분과 위의 예를 참조하세요.

작동 감지

동작시 Session::is_set 메소드를 이용하여 Session의 값이 설정되어 있는지 확인할 수 있습니다. 예를 들어 User 모듈 user의 동작은 다음과 같습니다.

코드 복사


코드는 다음과 같습니다.

echo '세션이 등록되지 않았습니다'; }
}


기타 모듈 페이지


다른 페이지(예: Index/index)에서 세션 코드 스니펫을 확인하고 읽으세요.


코드 복사

코드는 다음과 같습니다.

<현재 이름="_SESSION['username']"> {$_SESSION ['사용자 이름']} 안녕하세요! 로그인되지 않음
세션이 잘못되었습니다(전달할 수 없음)

ThinkPHP에서 세션이 유효하지 않을 수 있습니다(다른 페이지로 전달할 수 없음). 가능한 이유는 다음과 같습니다.

session::set과 같이 대문자 없이 세션 클래스의 첫 글자를 사용하세요.

페이지에 항목 파일에 빈 줄이 있는 등의 정보 출력이 있습니다.

서버(Linux/Unix)의 세션 저장 경로(session.save_path) 권한이 올바르지 않아 세션 정보가 제대로 저장되지 않습니다.

범위 문제에 대한 제안:

ThinkPHP의 Session 클래스는 단순한 세션 래퍼입니다. 실제로 PHP의 기본 세션 기능을 작업에서 직접 사용할 수 있습니다.

이 글이 모든 분들의 ThinkPHP 프레임워크 프로그래밍에 도움이 되기를 바랍니다.

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