首页 >后端开发 >php教程 >PHP 中的会话

PHP 中的会话

PHPz
PHPz原创
2024-08-29 12:42:281140浏览

会话在 Web 应用程序中使用。 PHP 中会话的使用是为了使数据在网站的不同页面上可用。姓名、地址等数据或信息从一个页面传送到另一个用户会话。此会话信息用于身份验证目的。就像 cookie 存储在客户端浏览器上一样,会话数据存储在服务器上的临时目录中。

广告 该类别中的热门课程 PHP 开发人员 - 专业化 | 8 门课程系列 | 3次模拟测试

开始您的免费软件开发课程

网络开发、编程语言、软件测试及其他

要开始会话,我们使用 session_start() 函数。当会话开始时,默认持续时间为 24 分钟,即 1440 秒。会话由会话标识符或 SID 来标识,SID 是标识每个用户的唯一编号。

如何在 PHP 中创建会话?

session_start() 是用于启动会话的函数。如果会话已存在,则将使用同一个会话;否则,它将创建一个新会话。该函数始终在每个页面的开头调用。调用该函数后,我们可以开始在会话变量中存储值,但在此之前不能。 PHP 将用户的信息存储在超级全局变量 $_SESSION 中。

为了知道存储会话的目录路径,我们在 php.ini 文件中有一个名为 session_save_path 的指令来存储该路径。此外,session_id 打印与当前会话关联的 ID。它是一个唯一的随机生成的数字。

让我们看看下面的程序。

在此程序中,当您使用 print_r($_SESSION) 打印此会话变量时,所有设置的会话数据都会被打印。输出采用键值对关联数组的形式。

在这个例子中,我们首先使用session_start()函数启动会话,初始化变量并使用_SESSION[‘name’] = $name将其分配给会话变量,打印超级全局数组。我们还使用 session_id() 函数打印唯一的会话 id 值。

示例

代码:

<?php
// example to start session
//beginning a session
// no arguments are passed to this function
session_start();
//initializing variables
$name = 'Neha';$age = 28;
//storing values in session
$_SESSION['name'] = $name;
$_SESSION['age'] = $age;
// printing session valuesprint_r($_SESSION);
//using the session id
echo '<br > The session_id is ';
echo session_id();
?>

输出:

PHP 中的会话

如何在 PHP 中删除会话?

以下是删除会话的示例:

Session_destroy()函数用于销毁会话。该函数会破坏整个会话。要取消设置单个会话变量,我们可以使用 unset() 函数。

在这个例子中,我们首先打印会话数据,以了解会话保存的内容;然后,我们使用 unset() 函数销毁已经设置的会话变量。在这里,我们销毁了设置的会话变量,例如姓名和年龄。销毁后,我们再次打印会话,看到它返回一个空数组,这意味着变量已被取消设置,会话不再存在。

代码:

<?php
//example to unset session variables
//starting a session
session_start();
print_r($_SESSION);
//before destroying the session
//printing the session
unset($_SESSION['name']);
unset($_SESSION['age']);
echo 'Session destroyed';
//after destroying the session
//printing the session
print_r($_SESSION);
?>

输出:

PHP 中的会话

如何销毁会话?

在下面的示例中,我们正在销毁一个会话。

要销毁会话,我们将首先检查会话值,然后销毁会话。并再次打印会话,这将是一个空数组,因为会话不存在。

示例#1

代码:

<?php
//example to destroy session
//starting a session
session_start();
//to completely destroy a session
session_destroy();
echo 'Session destroyed';
//after destroying the session
//printing the session
echo '<br />';
print_r($_SESSION);
?>

输出:

PHP 中的会话

在这里,在程序中,我们看到在第一行中,我们启动会话并将计数变量初始化为 0。接下来,我们检查会话变量是否已设置。这里我们检查一个条件是否设置了会话名称page_views;如果是,则将计数变量值加一,如果不是,则将计数值初始化为一。

示例#2

代码:

<?php
session_start();
$count = 0;
if(!isset($_SESSION['page_views'])) {
$_SESSION['page_views'] = 1;
$count = $_SESSION['page_views'];
} else {
$_SESSION['page_views'] = $_SESSION['page_views'] + 1 ;
$count = $_SESSION['page_views'];
}
?>
<html>
<head><title>Finding count of page views</title></head>
<body>
<?php echo '<br>'. 'The count of page views '. $count;
?>
</body>
</html>

输出:

PHP 中的会话

如何在 Php 中开启自动会话?

要在 PHP 中打开自动会话,我们必须更改配置文件,即 php.ini。

其中 php.ini 是默认配置文件

会话不会自动开始;要使会话自动工作,我们必须执行以下操作,但完成后,所有文件的会话都会自动启动,并在默认时间结束后关闭。

因此在 php.ini 文件中,我们将搜索

session.auto_start = 0

并将值设置为 1,如下所示

session.auto_start = 1

这将帮助 PHP 自动启动会话。

会议的重要性

本次会议的一些重要内容如下。

  • 像 $_COOKIE 一样,我们有 $_SESSION,它是一个超全局变量并存储在服务器上。
  • 如果用户的浏览器不支持cookie,我们可以使用session。每个会话都有一个根据用户访问网站而分配的唯一 ID。
  • 在存储数据方面,Session 存储的数据比 Cookie 可以存储的数据还要多。
  • 会话用于将信息从一个页面传送到另一页面。
  • 该会话可用于获取网站的访问者数量。
  • 会话也用于身份验证目的。
  • 生成的会话 ID 是唯一的。

结论

本文解释了什么是会话、会话如何工作、如何创建会话、如何删除特定会话。

此外,还解释了我们如何使会话工作,通过将指令 session.auto_start() 值设置为 1 自动启动。

然后通过一个例子,解释了如何使用session来统计页面被浏览的次数。此外,还解释了该会议的重要性以及它如何用于不同目的。

以上是PHP 中的会话的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
上一篇:Cookie in PHP下一篇:What is PHP Array?