PHP에서 세션을 설정, 획득 및 삭제하는 방법은 무엇입니까?
이전 글에서는 "PHP에서 쿠키를 생성하고 읽고 삭제하는 방법은 무엇인가요?"를 가져왔습니다. 》에서는 PHP에서 쿠키를 생성하고 읽고 삭제하는 방법을 자세히 소개합니다. 이 기사에서는 PHP에서 세션을 설정하고 가져오고 삭제하는 방법을 살펴보겠습니다. 모두에게 도움이 되기를 바랍니다!
이전 글에서는 클라이언트가 사용자 데이터를 저장하는 데 사용하는 쿠키
에 대해 소개했습니다. 이번 글에서는 매우 중요한 위치를 차지하는 세션에서 세션은 서버 측 메커니즘이며 정보를 저장하는 데에도 사용됩니다. 클라이언트에 저장된 쿠키와 비교할 때 사용자는 서버에 저장된 세션을 비활성화할 수 없습니다. , 매번 모든 쿠키 값을 반환할 필요는 없으며, ID만 반환하면 됩니다. 이 ID는 서버에 처음 접속할 때 생성되며 고유합니다. <br><code>cookie
,本篇我们来看一下在PHP中占有非常重要地位的session
,session是一种服务器端的机制,也是用来保存信息的,相比于保存在客户端的cookie,保存在服务器端的session用户是无法禁用的,同一个客户端每次和服务端交互时,不需要每次都传回所有的cookie值,只需要传回一个ID就可以了,这个ID是第一次访问服务器的时候生成的,并且是唯一的。
那接下来就来看一看到底什么是session,应该怎样去设置、获取和删除session吧
什么是session
session中文意思是会话,它用来储存使用者的相关资料的,这与cookie类似,例如用户名、个性化设置等等,与cookie不同的是,cookie是将资料保存在客户端的电脑中,用户可以禁用;而session是将数据保存在服务器系统下。网页是无状态的程序连接,无法记录用户的状态,因此通过session来记录用户的相关信息就显得尤为重要。
当开启一个session是,PHP会随机的创建一个sessionID
,每个用户的sessionID是唯一的。这个sessionID在客户端与服务器端都会有保存的位置,保存在客户端会使用cookie的指定目录里;在服务器端回忆文本的形式保存到指定的session目录里。
与cookie相比,session是有很多优势的:
因为session的数据不会在客户端与服务器端来回的反复传递,所以通常情况下session还是更安全的;session能够存储的信息比cookie要多很多;用户可以禁用cookie,但是有方法能够是session正常工作。
了解了什么是session后,接下来看一看应该怎样去开启session。
开启session
不同于cookie,使用cookie可以直接创建,而在使用session之前必须先启动,目的是为了让PHP中的核心程序能够将session相关的内建环境预先加载到内存中。
在PHP中通过session_start()
函数可以实现开启session的目的,函数session_start()的语法格式如下:
session_start ([array $options = array()])
其中需要注意的是:
$options
是一个可选函数,是一个关联数组,并且这个数组中的键不需要包含session.前缀。
示例如下:
<?php session_start([ 'cookie_lifetime' => 60*60*24, // 设置 cookie 的有效时间为 1 天 ]); echo 'Session ID 为:'.$_COOKIE['PHPSESSID']; ?>
输出结果:
需要注意的是:调用 session_start()
函数会生成一个唯一的 Session ID,并保存在浏览器的 Cookie 中,默认名称为“PHPSESSID”。同时,在本地目录中生成一个以“sess_”加上 Session ID 组成的 Session 文件,用来存储 Session 中的数据,输出结果:
通过上述实例,已经了解到了应该怎样去开启session,那接下来看一下应该怎样去设置和获取session
设置和获取session
在上文中,启动了session之后,想要使用session变量,还需要经过设置和获取session中的数据,想要完成这些还需要通过$_SESSION
数组来完成。使用$_SESSION之前必须要先试用session_start()
函数来开启session才可以。
$_SESSION
세션
이 무엇인지세션이란 중국어 의미입니다. 세션은 사용자 이름, 개인 설정 등 쿠키와 유사합니다. 쿠키와 달리 쿠키는 클라이언트의 컴퓨터에 정보를 저장하며 사용자가 비활성화할 수 있습니다. 서버 시스템의 데이터. 웹 페이지는 상태가 없는 프로그램 연결이므로 사용자의 상태를 기록할 수 없으므로 세션을 통해 사용자의 관련 정보를 기록하는 것이 특히 중요합니다.
세션이 열리면 PHP는 무작위로 sessionID
를 생성하며 각 사용자의 sessionID는 고유합니다. 이 세션 ID는 클라이언트와 서버 모두에 저장되며, 서버의 클라이언트에서 쿠키가 사용될 지정된 디렉터리에 저장되며, 지정된 세션 디렉터리에 호출된 텍스트 형식으로 저장됩니다.
쿠키에 비해 세션에는 많은 장점이 있습니다.
세션 데이터가 클라이언트와 서버 간에 반복적으로 전달되지 않기 때문에 세션은 일반적으로 세션을 더 안전하게 저장할 수 있습니다. 쿠키, 사용자는 쿠키를 비활성화할 수 있지만 세션이 제대로 작동하도록 하는 방법이 있습니다. 세션이 무엇인지 이해한 후, 세션을 여는 방법을 살펴보겠습니다.
세션
열기🎜🎜🎜🎜쿠키와는 달리 쿠키는 직접 생성할 수 있지만 세션을 사용하기 전에 시작해야 합니다. 목적은 PHP의 핵심 프로그램이 세션을 전송할 수 있도록 하는 것입니다. -관련 정보 내장 환경은 메모리에 미리 로드됩니다. 🎜🎜PHP에서 세션을 여는 목적은
session_start()
함수를 통해 달성할 수 있습니다. session_start() 함수의 구문 형식은 다음과 같습니다. 🎜$_SESSION[名称] = 值;
🎜🎜
$options
는 선택적 함수이자 연관 배열이며 이 배열의 키에는 세션 접두사가 포함될 필요가 없습니다. 🎜🎜예제는 다음과 같습니다. 🎜
<?php session_start(); $str = '好好学习'; $arr = ['Session','$_SESSION']; $_SESSION['study'] = $str; $_SESSION['study1'] = '天天向上'; $_SESSION['title'] = $arr; foreach ($_SESSION as $key => $value) { if(is_array($value)){ echo $key.':'; print_r($value); }else{ echo $key.' = '.$value.'<br>'; } } ?>
🎜🎜

session_start()
함수를 호출하면 고유한 세션 ID가 생성되어 브라우저의 쿠키, 기본 이름은 "PHPSESSID"입니다. 동시에 "sess_"와 세션 ID로 구성된 세션 파일이 로컬 디렉터리에 생성되어 세션에 데이터를 저장합니다. 🎜🎜
세션
설정 및 가져오기🎜🎜🎜🎜위에서 세션을 시작한 후 세션을 사용하려는 경우 변수를 사용하려면 세션에서 데이터를 설정하고 가져와야 하며 $_SESSION
배열을 통해 이를 완료해야 합니다. $_SESSION을 사용하기 전에 먼저 session_start()
함수를 사용하여 세션을 열어야 합니다. 🎜🎜$_SESSION
은 연관 배열로, 일반 연관 배열 키-값 쌍과 동일한 의미를 갖습니다. 세션 설정을 위한 구문 형식은 다음과 같습니다. 🎜unset(mixed $var [, mixed $...])
<?php session_start(); echo '<pre class="brush:php;toolbar:false">'; $str = '好好学习'; $arr = ['删除 Session','$_SESSION']; $_SESSION['study'] = $str; $_SESSION['study1'] = '天天向上'; $_SESSION['title'] = $arr; echo '定义一个 Session,如下所示:<br>'; print_r($_SESSION); echo '删除 Session 中名为 title 的元素:<br>'; unset($_SESSION['title']); print_r($_SESSION); ?>
删除单个session元素需要通过unset()
函数,该函数可以释放指定的变量,相当于直接注销掉数组中的元素,他的语法格式如下:
unset(mixed $var [, mixed $...])
其中需要注意的是:
$var
为要释放的变量,unset()
函数可以接收多个参数,参数之间使用,
分隔。
实例如下:
<?php session_start(); echo '<pre class="brush:php;toolbar:false">'; $str = '好好学习'; $arr = ['删除 Session','$_SESSION']; $_SESSION['study'] = $str; $_SESSION['study1'] = '天天向上'; $_SESSION['title'] = $arr; echo '定义一个 Session,如下所示:<br>'; print_r($_SESSION); echo '删除 Session 中名为 title 的元素:<br>'; unset($_SESSION['title']); print_r($_SESSION); ?>
输出结果:
如此便通过unset()函数完成了删除session单个元素了。
删除session多个元素
如果想要一次性删除多个 Session 元素,即一次注销所有的会话变量,可以通过将一个空的数组赋值给 $_SESSION
来实现
实例如下:
<?php session_start(); echo '<pre class="brush:php;toolbar:false">'; $str = '好好学习'; $arr = ['删除 Session','$_SESSION']; $_SESSION['study'] = $str; $_SESSION['study1'] = '天天向上'; $_SESSION['title'] = $arr; echo '定义一个 Session,如下所示:<br>'; print_r($_SESSION); echo '删除 Session 中名为 title 的元素:<br>'; $_SESSION = array(); print_r($_SESSION); ?>
通过将一个空的数组赋值给 $_SESSION 输出结果:
还有一种方法就是通过session_unset() 函数来释放session中的所有元素,实例如下:
<?php session_start(); echo '<pre class="brush:php;toolbar:false">'; $str = '好好学习'; $arr = ['删除 Session','$_SESSION']; $_SESSION['study'] = $str; $_SESSION['study1'] = '天天向上'; $_SESSION['title'] = $arr; echo '定义一个 Session,如下所示:<br>'; print_r($_SESSION); echo '删除 Session 中名为 title 的元素:<br>'; session_unset(); print_r($_SESSION); ?>
输出结果与上述实例的结果相同,由此我们便通过两种方法可以删除session多个元素了。
大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。
위 내용은 PHP에서 세션을 설정, 획득 및 삭제하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

숙련된 PHP 개발자라면 이미 그런 일을 해왔다는 느낌을 받을 것입니다. 귀하는 상당한 수의 애플리케이션을 개발하고, 수백만 줄의 코드를 디버깅하고, 여러 스크립트를 수정하여 작업을 수행했습니다.

VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는

JWT는 주로 신분증 인증 및 정보 교환을 위해 당사자간에 정보를 안전하게 전송하는 데 사용되는 JSON을 기반으로 한 개방형 표준입니다. 1. JWT는 헤더, 페이로드 및 서명의 세 부분으로 구성됩니다. 2. JWT의 작업 원칙에는 세 가지 단계가 포함됩니다. JWT 생성, JWT 확인 및 Parsing Payload. 3. PHP에서 인증에 JWT를 사용하면 JWT를 생성하고 확인할 수 있으며 사용자 역할 및 권한 정보가 고급 사용에 포함될 수 있습니다. 4. 일반적인 오류에는 서명 검증 실패, 토큰 만료 및 대형 페이로드가 포함됩니다. 디버깅 기술에는 디버깅 도구 및 로깅 사용이 포함됩니다. 5. 성능 최적화 및 모범 사례에는 적절한 시그니처 알고리즘 사용, 타당성 기간 설정 합리적,

이 튜토리얼은 PHP를 사용하여 XML 문서를 효율적으로 처리하는 방법을 보여줍니다. XML (Extensible Markup Language)은 인간의 가독성과 기계 구문 분석을 위해 설계된 다목적 텍스트 기반 마크 업 언어입니다. 일반적으로 데이터 저장 AN에 사용됩니다

문자열은 문자, 숫자 및 기호를 포함하여 일련의 문자입니다. 이 튜토리얼은 다른 방법을 사용하여 PHP의 주어진 문자열의 모음 수를 계산하는 방법을 배웁니다. 영어의 모음은 A, E, I, O, U이며 대문자 또는 소문자 일 수 있습니다. 모음이란 무엇입니까? 모음은 특정 발음을 나타내는 알파벳 문자입니다. 대문자와 소문자를 포함하여 영어에는 5 개의 모음이 있습니다. a, e, i, o, u 예 1 입력 : String = "Tutorialspoint" 출력 : 6 설명하다 문자열의 "Tutorialspoint"의 모음은 u, o, i, a, o, i입니다. 총 6 개의 위안이 있습니다

정적 바인딩 (정적 : :)는 PHP에서 늦은 정적 바인딩 (LSB)을 구현하여 클래스를 정의하는 대신 정적 컨텍스트에서 호출 클래스를 참조 할 수 있습니다. 1) 구문 분석 프로세스는 런타임에 수행됩니다. 2) 상속 관계에서 통화 클래스를 찾아보십시오. 3) 성능 오버 헤드를 가져올 수 있습니다.

PHP의 마법 방법은 무엇입니까? PHP의 마법 방법은 다음과 같습니다. 1. \ _ \ _ Construct, 객체를 초기화하는 데 사용됩니다. 2. \ _ \ _ 파괴, 자원을 정리하는 데 사용됩니다. 3. \ _ \ _ 호출, 존재하지 않는 메소드 호출을 처리하십시오. 4. \ _ \ _ get, 동적 속성 액세스를 구현하십시오. 5. \ _ \ _ Set, 동적 속성 설정을 구현하십시오. 이러한 방법은 특정 상황에서 자동으로 호출되어 코드 유연성과 효율성을 향상시킵니다.
