> 백엔드 개발 > PHP 튜토리얼 > PHP 세션 변수 사용 방법에 대한 자세한 설명과 예제 코드

PHP 세션 변수 사용 방법에 대한 자세한 설명과 예제 코드

高洛峰
풀어 주다: 2023-03-04 08:20:02
원래의
2124명이 탐색했습니다.

PHP 세션 변수 사용 방법에 대한 자세한 설명과 예제 코드

애플리케이션을 실행할 때는 애플리케이션을 열고 변경한 후 닫습니다. 그것은 세션과 매우 유사합니다. 컴퓨터는 당신이 누구인지 알고 있습니다. 애플리케이션을 시작할 때와 종료할 때를 알고 있습니다. 그러나 인터넷에는 문제가 있습니다. 서버는 귀하가 누구인지, 무엇을 하는지 알지 못합니다. 그 이유는 HTTP 주소가 상태를 유지하지 않기 때문입니다.
PHP 세션은 이후 사용을 위해 사용자 정보(예: 사용자 이름, 구매한 항목 등)를 서버에 저장하여 이 문제를 해결합니다. 단, 세션 정보는 일시적이므로 사용자가 사이트를 떠난 후에는 삭제됩니다. 정보를 영구적으로 저장해야 하는 경우 데이터를 데이터베이스에 저장할 수 있습니다.

추천 관련 주제: php 세션 (사진, 동영상, 사례 포함)

설명서를 복사한 후 사용해 보세요. 누가 우리한테 그냥 배우라고 했나요? 세션에는 약 12가지 기능이 있습니다.

  • session_start: 초기 세션.

  • session_destroy: 세션을 종료합니다.

  • session_unset: 세션 메모리를 해제합니다.

  • session_name: 현재 세션 이름에 액세스합니다.

  • session_module_name: 현재 세션 모듈에 액세스합니다.

  • session_save_path: 현재 세션 경로에 액세스합니다.

  • session_id: 현재 세션 코드에 접근합니다.

  • session_register: 새로운 변수를 등록합니다.

  • session_unregister: 등록된 변수를 삭제합니다.

  • session_is_registered: 변수가 등록되었는지 확인하세요.

  • session_decode: 세션 데이터 디코딩.

  • session_encode: 세션 데이터 인코딩입니다.

전역 변수도 있습니다: $_SESSION

PHP 세션에 사용자 정보를 저장하기 전에 먼저 세션을 시작해야 합니다.
참고: session_start() 함수는 레이블 앞에 배치되어야 합니다.

<?php session_start(); ?>

<html>
<body>

</body>
</html>
로그인 후 복사

Storage 세션 변수

<?php
session_start();
// store session data
$_SESSION[&#39;views&#39;]=1;
?> 
<html>
<body>

<?php
//retrieve session data
echo "Pageviews=". $_SESSION[&#39;views&#39;];
?>

</body>
</html>
 [html]
终结 Session
unset() 函数用于释放指定的 session 变量:
[code]
<?php
unset($_SESSION[&#39;views&#39;]);
?>
로그인 후 복사

session_destroy()를 통해 세션을 완전히 종료할 수도 있습니다. 함수:

<?php
session_destroy();
?>
로그인 후 복사

예:

<?php 
session_start(); 
switch ( $_GET[&#39;action&#39;] ){ 
case "loginif"; 
//登陆验证,假定session储存的秘密应该等于123才为正确 
if ($_SESSION[&#39;pass&#39;]=="123"){echo "密码正确 您可以执行注销";}else{echo "密码错误,您可以重新登陆";} 
break; 
case "logout"; 
//注销登陆 
session_unset(); 
session_destroy(); 
echo "注销成功!可以判断一下密码是否正确来看看是不是成功注销"; 
break; 
case "login"; 
//写入session以供验证, 
$pass="123";//密码 
$_SESSION[&#39;pass&#39;]=$pass; 
echo "写入登陆密码了 去判断密码成功与否吧。"; 
break; 
} 
?> 
<p>假定本页名为temp.php </p> 
<p><a href="temp.php?action=login">用户进行登陆post,程序处理写入session</a></p> 
<p><a href="temp.php?action=loginif">判断用户密码是否正确</a></p> 
<p><a href="temp.php?action=logout">登陆成功的用户注销登陆</a></p>
로그인 후 복사

php에서 세션의 사용법을 정리했습니다.

(1) 세션 시작
세션을 사용할 때마다 "session_start();"라는 문장을 추가합니다. 이름에서 알 수 있듯이 이 함수의 기능은 세션 사용을 시작하는 것입니다.
(2) 세션 등록
먼저 $login과 같은 전역(전역으로 정의해야 하며 그렇지 않으면 다른 페이지에서 사용할 수 없음) 배열을 만듭니다. 여기서 $login['name'] ="Victor" , $login['pwd']="111111", 그리고 "session_register(login);" 함수를 호출하면 세션이 성공적으로 등록됩니다.
(3) 세션에서 변수 사용
세션 등록과 마찬가지로 먼저 전역 배열을 생성해야 하며 그 다음은 일반 배열을 사용하는 것과 같습니다.
(4) 세션이 등록되었는지 확인
매우 간단합니다. "if (session_is_registered(login))"를 사용하여 판단하면 됩니다.
(5) 세션 제거
"session_unregister(login);"만 하면 매우 간단합니다.
참고: (2)(3)(4)(5)를 수행하기 전에 반드시 (1)을 수행하십시오.

아래 예시는

index.htm

<html> 
<head> 
<title>测试</title> 
</head> 
<body> 
<FORM METHOD=POST ACTION="login.php"> 
用户名:<INPUT TYPE="text" NAME="name"><br/> 
密码:<INPUT TYPE="password" name="pwd"><br/> 
<INPUT TYPE="submit" value="提交"> 
</FORM> 
</body> 
</html>
로그인 후 복사

login.php

<?php 
global $login; 
if ($_POST[&#39;name&#39;]!="Victor" || $_POST[&#39;pwd&#39;]!="111111") 
{ 
        echo "登陆失败"; 
        echo "请<a href=index.htm>返回</a>"; 
        exit; 
} 
$login = array(&#39;name&#39;=>$_POST[&#39;name&#39;], 
                           &#39;pwd&#39;=>$_POST[&#39;pwd&#39;]); 
session_start(); 
session_register(login); 
echo "<a href=info.php>查看信息</a><br/>"; 
echo "<a href=logout.php>退出登陆</a><br/>"; 
?>
로그인 후 복사

info.php

<?php 
session_start(); 
if (session_is_registered(login)) 
{ 
        global $login; 
        echo "hello,".$login[&#39;name&#39;]."<br/>"; 
        echo "<a href=logout.php>退出登陆</a><br/>"; 
} 
else 
{ 
        echo "非法操作<br/>"; 
        exit; 
} 
?>
로그인 후 복사

logout.php

<?php 
session_start(); 
session_unregister(login); 
header("location:index.htm"); 
?>
로그인 후 복사

PHP 세션 변수 사용법에 대한 자세한 설명과 샘플 코드 관련 글은 PHP 중국어 홈페이지를 주목해주세요!

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