如果您是活跃的互联网用户,您可能已经看到过以下短语:您的会话已过期。它通常会在长时间不活动后重新打开页面时显示。因此,您不会自动登录,并且特定网页的功能不再可用。
PHP 会话是特定应用程序的所有网页都可以访问数据的原因。该特定数据现在以变量的形式保存,暂时存储在服务器上。当您关闭浏览器的窗口或选项卡时,会话将完成。
在本教程中,我们将讨论什么是 PHP 会话,它们如何开始或结束。我们还将熟悉 PHP 会话变量并了解 PHP $_SESSION 的含义。
内容
PHP 会话:主要提示
会话是一种存储数据(使用变量)的方法,以便浏览器可以在多个网页中使用它。
与 Cookie 不同,数据不会保存在用户的系统上。
会话变量包含有关当前用户的数据。它们可访问单个 Web 应用程序中包含的所有页面。
会话数据不是永久性的,但您可以使用数据库为特定用户加载永久用户数据。
启动会话
要启动 PHP 会话,必须使用函数 。session_start()
要设置会话变量,您需要应用全局 PHP 变量。$_SESSION
在下面的示例中,我们开始 PHP 文件demo_session1.php。让我们来看看我们如何做到这一点:
例复制
<?php // Start the session session_start();?><!DOCTYPE html><html> <body> <?php // Set session variables $_SESSION["color"]= "blue"; $_SESSION["animal"]= "dog"; echo "The session variable are set up."; ?> </body></html>
注意:PHP session_start() 函数必须是文档中的第一件事:所有 HTML 标签都在后面。
获取变量的值
为了继续,我们创建了demo_session2.php。使用此文件,我们将访问demo_session1.php上的数据。请注意必须如何单独检索会话数据(以变量的形式)(PHP 函数)。session_start()
请参阅下面的示例以更好地了解 PHP 变量如何保存文件中声明的所有会话数据:$_SESSION
例复制
<?php session_start(); ?><!DOCTYPE html><html> <body> <?php // Echo session variables that were set on previous page echo "The color of my choice is " . $_SESSION["color"] . ".<br>"; echo "The animal of my choice is " . $_SESSION["animal"] . "."; ?> </body></html>
在下面的脚本示例中,您可以看到如何显示所有当前声明的会话变量:
例复制
<?php session_start(); ?><!DOCTYPE html><html> <body> <?php print_r($_SESSION); ?> </body></html>
想知道会话如何知道是谁?这很简单:会话在用户的计算机上创建用户标识符。它是一个由 32 个随机字符组成的字符串(例如,3c7ght34c3jj9083hjaje2fc650e344t)。
当会话在另一个窗口中启动时,它会检查以前创建的用户标识符,并在找到时继续。
变量的修改
您只需覆盖会话变量即可更改它们:
例复制
<?php session_start(); ?><!DOCTYPE html> <html> <body> <?php // you can change a session variable by assigning a new value $_SESSION["color"] = "red"; print_r($_SESSION); ?> </body> </html>
如何销毁会话
session_unset()将删除所有全局变量,同时将完全销毁会话。但是,两者都具有相似的效果:session_destroy()
例复制
<?php session_start(); ?><!DOCTYPE html><html> <body> <?php //remove all session variables session_unset(); // destroy the session session_destroy(); ?> </body></html>
PHP 会话:摘要
存储包含供浏览器使用的数据的变量的方法称为会话。这些数据不是永久性的,也不会保存在用户的个人计算机中(与 cookie 不同)。
有关当前用户的信息保存在会话变量中,并且可以访问 Web 应用程序的所有页面。全局 PHP 变量存储所有会话变量的值。
$_SESSION要完成会话,您只需关闭加载网站的窗口或选项卡即可。
可以使用数据库为特定用户加载永久用户数据。
陕公网安备 61012502000223号
评论一下吧