>  기사  >  백엔드 개발  >  PHP 세션 변수 사용법에 대한 자세한 설명

PHP 세션 변수 사용법에 대한 자세한 설명

怪我咯
怪我咯원래의
2017-07-09 14:34:371389검색

PHP에서 Session사용자 등록을 확인하거나 로그인 후 확인하는 데 자주 사용됩니다. 아래에서는 몇 가지 일반적인 예와 세션 변수의 사용법 소개를 요약하겠습니다.

애플리케이션을 실행하면 열어서 몇 가지 사항을 변경하고 그런 다음 닫으세요. 그것은 세션과 매우 유사합니다. 컴퓨터는 당신이 누구인지 알고 있습니다. 애플리케이션을 시작할 때와 종료할 때를 알고 있습니다. 그러나 인터넷에는 문제가 있습니다. 서버는 귀하가 누구인지, 무엇을 하는지 알지 못합니다. 그 이유는 HTTP 주소가 상태를 유지하지 않기 때문입니다.
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 세션에 사용자 정보를 저장하기 전에 먼저 세션을 시작해야 합니다.
Note: 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();
?>

예:

코드는 다음과 같습니다.

?> 
<p>假定本页名为temp.php </p> 
<p><a href="temp.php?action=login">用户进行登陆post,<?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; 
} 程序处理写入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) 세션 등록
먼저 전역을 만들어야 합니다(참고, 전역으로 정의해야 합니다. 그렇지 않으면 다른 페이지에서 사용할 수 없습니다) array, 예: $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

code 다음과 같습니다:

<?php 
session_start(); 
session_unregister(login); 
header("location:index.htm"); 
?>

위 내용은 PHP 세션 변수 사용법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.