第一个session
关于演示session是如何工作的标准例子之一就是点击计数的应用 -- 这是一个简单的基于session的计数器,在你第一次访问一个web页面时初始化一个变量,每一次当你重新装入这个页面时增加它的计数。代码如下:
php
//初始化一个session session_start();
//注册一个session变量 session_register('counter');
?>
在PHP4中每一个session都通过调用session_start()函数开始,这个函数检查一个session是否存在,如果不存在则创建一个新的。接着,用session_register()函数来注册一个变量,它将生存在整个session中 -- 在上面的例子中,变量名为"counter",并且没有给它赋任何值。
现在,让我们在上面的例子中加几行代码,点击计数将开始工作了:
php
//初始化一个session session_start();
//注册一个session变量 session_register('counter');
//增加计数器 $counter++;echo("You have visited this page $counter times! Don't you have anything else to do, you bum?!");
?>
试一试它!当你每一次重装这个页面时,计数器的值都在增加,这个说明了在session中变量是如何被保存的。
为什么为发会生这样的情况呢?唔,每次一个session被创建,一个session的cookie[叫做PHPSESSID]会在客户系统中被创建,并且被赋了一个随机数;同时,在服务器端一个相似的入口被创建,它包含着在session中注册过的变量。在客户与服务器之间的通讯就通过这个有相同命名的session的标识号(id)来实现,这样就可以在整个session期间保存不同的变量。
让我们再看一下复杂一点的吧?看这个例子,它演示了一个使用session变量的计时器,它将告诉你在重新装入页面时过了多长的时间。
php
session_start();
//session变量用于保存计数器session_register('counter');
//session变量用于保存最后装入的时间值
//这个值被保存以便比较两次的不同session_register('timeAtLastLoad');
//当前时间$timeNow = time();
//增加计数$counter++;
//计算两次时间间隔$timeLapsed = $timeNow - $timeAtLastLoad;
//显示信息if($counter > 1)
{
echo "It's been $timeLapsed seconds since you last viewed
this page.";
}
else
{
echo "First time here? Reload this page to see how the
session works!/b>";
}
$timeAtLastLoad = $timeNow;
?>

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

WebStorm Mac版
好用的JavaScript开发工具

禅工作室 13.0.1
功能强大的PHP集成开发环境

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

Atom编辑器mac版下载
最流行的的开源编辑器

Dreamweaver CS6
视觉化网页开发工具