60 lines
2.0 KiB
Markdown
60 lines
2.0 KiB
Markdown
---
|
||
title: Sessions
|
||
localeTitle: 会议
|
||
---
|
||
## 会议
|
||
|
||
会话是PHP中的一项功能,允许您存储有关用户的数据服务器端。设置会话时,会设置一个浏览器cookie,用于向PHP标识用户,以便PHP知道要访问哪些服务器端变量。
|
||
|
||
### 开始一个会话
|
||
|
||
在您要访问会话的每个页面上,您需要启动(或加载)会话。为此,请运行加载PHP会话系统的`session_start()`函数。
|
||
|
||
```PHP
|
||
<?php
|
||
session_start();
|
||
```
|
||
|
||
请注意,在使用基于cookie的会话时,必须先调用session\_start(),然后才能向浏览器输出任何内容。其他任何事都会导致错误。
|
||
|
||
### 在会话中访问和设置数据
|
||
|
||
`$_SESSION['key']`变量是一种特殊类型的数组(使用浏览器cookie来确定要访问的会话)。
|
||
|
||
在下面的示例中,您会看到用户选择的主题设置为主题编号1。
|
||
|
||
```PHP
|
||
<?php
|
||
session_start();
|
||
$_SESSION['themechoice'] = 1;
|
||
```
|
||
|
||
访问会话变量类似于设置一个。只需将变量包含在需要访问的位置即可。例如,如下面的代码示例所示回显它。
|
||
|
||
```PHP
|
||
<?php
|
||
session_start();
|
||
echo $_SESSION['themechoice'];
|
||
```
|
||
|
||
### 删除会话
|
||
|
||
要从系统中删除会话,请运行以下PHP代码。它将取消设置会话变量并将其从系统中删除。
|
||
|
||
```PHP
|
||
<?php
|
||
session_unset();
|
||
session_destroy();
|
||
```
|
||
|
||
### 会议是暂时的
|
||
|
||
重要的是不要将会话视为永久存储。每当应用程序移动到新的主机服务器时,应用程序本身(例如注销按钮),甚至在服务器维护期间,开发人员都会不时清除它们。对于数据的长期存储,请确保使用数据库。
|
||
|
||
### 安全
|
||
|
||
最后但同样重要的是,安全地使用php会话非常重要。阅读我们关于[会话标识符获取](/php/security/session-identifier-acquirement)和[会话劫持的](/php/security/session-hijacking)文章以获取更多信息。
|
||
|
||
#### 更多信息:
|
||
|
||
* [php.net会话手册](https://secure.php.net/manual/en/book.session.php) |