All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
MySQL手册_php资料_编程技术
ASP.NET实现站点的RSS功能_[Asp.Net教程]
SQL数据库高级教程:学习 SQL BETWEEN_[SQL Server教程]
如何找出相同月日记录_[SQL Server教程]
ASP.NET,2.0服务器控件开发之控件样式_[Asp.Net教程]
asp.net实现简单的用户登录_[Asp.Net教程]
解决AJAX的跨浏览器问题_[Asp.Net教程]
delphi字符串栅格组件(TStringGrid)使用实例
PEAR简介_php资料_编程技术
PHP从映象(Reflection)类中读取属性信息_php资料_编程技术
Reading number is top 10 pictures
No trading, no killing
Shandong jinan is about to dismantle a one hundred-year history of the building
Plump, too plump!1
红楼梦金陵十二钗(1)
This is heaven to some path
Female model behind the bitterness, often being overcharged5
007 James. bond's new lover
西游四格漫画(一)
Take you to walk into the most true north Korea rural1
The money of more than 100 countries and regions20
Download software ranking
Dance with duck(male prostitution)
网页特效实例大全
C#程序员参考手册
WebService在.NET中的实战应用教学视频 → 第4集
Unix video tutorial1
Unix video tutorial6
Unix video tutorial15
Boxer vs Yellow2
Boxer Classic video2
SP4 for SQL2000
归海一刀 published in(发表于) 2014/2/17 7:42:10 Edit(编辑)
关于PHP动态网页session问题的解决方案_[PHP教程]

关于PHP动态网页session问题的解决方案_[PHP教程]

关于PHP动态网页session问题的解决方案_[PHP教程]

PHP的session功能,一直为许多的初学者为难。就连有些老手,有时都被搞得莫名其妙。本文,将这些问题,做一个简单的汇总,以便大家查阅。


1.
错误提示
Warning: Cannot send session cookie - headers already sent
Warning: Cannot send session cache limiter - headers already sent
分析及解决办法
这一类问题,的原因是你在程序中使用session_start()时,之前已经有实际的html内容输出了。或许你说,我没有啊,我只不过是echo或prin


t一条消息了。很抱歉,你的echo或print语句所产生的输出,就是实际的html内容输出。解决此类问题的办法是,将你的session_start()调到


程序的第一行。


2.
错误提示
Warning: open(F:/689\php\sessiondata\sess_66a39376b873f4daecf239891edc98b5, O_RDWR) failed
分析及解决方法
出现这样的错误语句一般是因为你的php.ini中关于session.save_path一项没有设置好,解决的方法是将session.save_path和session.cookie


_path 设置置为
session_save_path = c:\temp
session.cookie_path = c:\temp
然后在c:\目录下建立一个temp目录,即可


3.
错误提示
Warning: Trying to destroy uninitialized session in
分析及解决方法
出类这样的提示,一般情况都是你直接调session_destroy()函数造成的。很多的朋友认为session_destroy()函数可以独立的运行,其实不然


。解决的方法是在你调session_destroy()函数之前,要用session_start()开启session的功能。


4.问题:怎么获得当前session的id值呢?
最简单的方法是:
echo SID;
你会发现的。


5.问题:我的程序,在调用header函数之前没有任何的输出,虽然我include了一个config.php文件,但在config.php文件中也没有任何的输出


,为什么session还是会报出与问题1同样的错误呢,是不是因为我在header之前用了session_start()的缘故呢?
答:或许你确实认真的检查了你的php程序,在引用header()之前确实也没有任何的输出,并且在你的include文件中也没有任何的输出!但是你


是否用光标键在?>这个PHP代码结束语句后移动检查呢?那么你会发现在?>这个后面,有一个空行或几个空格,你删除了这几个空行或空格,那


么问题就解决了。
注:此问题,会出PHP4.1.2中,更高版本,没有测试过。


6.问:用session做登录主页面后,其它页面怎么用session限制登录。。。
答:最简单的方法是
session_start();
if(!session_registered('login') ││ login != true) {
echo "你没有登陆";
exit;
}


7.问:我用session_register()注册了session变量,可是当我用header或用javascript的重定向语句,那么在一下页面中,我却访问不到sessi


on所注册的变量值。请问如何解决?
问题的程序片段:
session_start();
ok = 'love you';
session_register('ok');
header("location : next.php");
?>


next.php
session_start();
echo ok;
?>


解决的方法:
当你用header函数或window.location这样的功能后,你上一个页面所注册的session变量,就会容易的丢失,关于这个问题的原因,至今仍没


有一个详细的回答。
不过有解决的方法。如下所示
header("Location: next.php" ."?" . SID);
在跳转到下一页面的时候,将session的当前id做为一个参数,传到后一个页面。


8.session如何传数组
session_register('data');
data=array(1,2,3,4);


方法是先注册后赋值


9.问题9:我是不是可以用像HTTP_GET_VARS['**']方式来访问session值呢?


回答:可以,你可以使用如下global数组来访问session,以加强网页的安全性
HTTP_SESSION_VARS
_SESSION
例程:
session_start();
username = 'stangly.wrong';
session_register('username');


echo HTTP_SESSION_VARS['username'];
echo '
';
echo _SESSION['username'];
?>
请参照此例程修改符合您自己的程序。


问题10:session_unregister() 和 session_destroy() 有何区别?
session_unregister()函数主要作用是注消当前的一个session变量。不过要注意的是,如果你用HTTP_SESSION_VARS或_SESSION在当前页面


中引用过session变量,那么你可能需要和unset()配合 来注消session变量。
而session_destroy()是清除当前的session环境。意思就是说,当你用session_destroy()函数后,那么你就不可能再用session_is_registere


d()来检测session的变量了。但是需要注意的是他不能清除global中的session或使用了session


cookie的中的session.所以在用session_destroy之前,最好不要用HTTP_SESSION_VARS _SESSION来访问session.(译自于php.net)


例程:
if(isset(_COOKIE[session_name()])) {
session_start();
session_destroy();
unset(_COOKIE[session_name()]);
}


以上,所述是一些新手经常遇到的问题。或许是详述不清,难免有误所在,请高手指点批评。







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.