会话在 Web 应用程序中使用。 PHP 中会话的使用是为了使数据在网站的不同页面上可用。姓名、地址等数据或信息从一个页面传送到另一个用户会话。此会话信息用于身份验证目的。就像 cookie 存储在客户端浏览器上一样,会话数据存储在服务器上的临时目录中。
广告 该类别中的热门课程 PHP 开发人员 - 专业化 | 8 门课程系列 | 3次模拟测试开始您的免费软件开发课程
网络开发、编程语言、软件测试及其他
要开始会话,我们使用 session_start() 函数。当会话开始时,默认持续时间为 24 分钟,即 1440 秒。会话由会话标识符或 SID 来标识,SID 是标识每个用户的唯一编号。
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(); ?>
输出:
以下是删除会话的示例:
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 //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); ?>
输出:
在这里,在程序中,我们看到在第一行中,我们启动会话并将计数变量初始化为 0。接下来,我们检查会话变量是否已设置。这里我们检查一个条件是否设置了会话名称page_views;如果是,则将计数变量值加一,如果不是,则将计数值初始化为一。
代码:
<?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.ini。
其中 php.ini 是默认配置文件
会话不会自动开始;要使会话自动工作,我们必须执行以下操作,但完成后,所有文件的会话都会自动启动,并在默认时间结束后关闭。
因此在 php.ini 文件中,我们将搜索
session.auto_start = 0
并将值设置为 1,如下所示
session.auto_start = 1
这将帮助 PHP 自动启动会话。
本次会议的一些重要内容如下。
本文解释了什么是会话、会话如何工作、如何创建会话、如何删除特定会话。
此外,还解释了我们如何使会话工作,通过将指令 session.auto_start() 值设置为 1 自动启动。
然后通过一个例子,解释了如何使用session来统计页面被浏览的次数。此外,还解释了该会议的重要性以及它如何用于不同目的。
以上是PHP 中的会话的详细内容。更多信息请关注PHP中文网其他相关文章!