php session 错误


Posted in PHP onMay 21, 2009

1.
错误提示
Warning: Cannot send session cookie - headers already sent
Warning: Cannot send session cache limiter - headers already sent
分析及解决办法
这一类问题,的原因是你在程序中使用session_start()时,之前已经有实际的html内容输出了。或许你说,我没有啊,我只不过是echo或print一条消息了。很抱歉,你的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的重定向语句,那么在一下页面中,我却访问不到session所注册的变量值。请问如何解决?
问题的程序片段:
<?
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
例程:
<?php
session_start();
$username = 'stangly.wrong';
session_register('username');
echo $HTTP_SESSION_VARS['username'];
echo '<br>';
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_registered()来检测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()]);
}
转载。

PHP 相关文章推荐
PHP中for与foreach的区别分析
Mar 09 PHP
输入值/表单提交参数过滤有效防止sql注入的方法
Dec 25 PHP
使用CodeIgniter的类库做图片上传
Jun 12 PHP
php版淘宝网查询商品接口代码示例
Jun 17 PHP
是 WordPress 让 PHP 更流行了 而不是框架
Feb 03 PHP
php反射类ReflectionClass用法分析
May 12 PHP
PHP7安装Redis扩展教程【Linux与Windows平台】
Sep 30 PHP
PHP foreach遍历多维数组实现方式
Nov 16 PHP
浅谈php(codeigniter)安全性注意事项
Apr 06 PHP
PHP实现的登录页面信息提示功能示例
Jul 24 PHP
PHP单例模式数据库连接类与页面静态化实现方法
Mar 20 PHP
如何在PHP中使用数组
Jun 09 PHP
php print EOF实现方法
May 21 #PHP
php 方便水印和缩略图的图形类
May 21 #PHP
简单的php 验证图片生成函数
May 21 #PHP
PHP 数组入门教程小结
May 20 #PHP
php 无限级 SelectTree 类
May 19 #PHP
PHP日期时间函数的高级应用技巧
May 16 #PHP
PHP 模拟登陆MSN并获得用户信息
May 16 #PHP
You might like
php网页标题中文乱码的有效解决方法
2014/03/05 PHP
php绘图之生成饼状图的方法
2015/01/24 PHP
分享下php5类中三种数据类型的区别
2015/01/26 PHP
PHP新建类问题分析及解决思路
2015/11/19 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
2020/02/21 PHP
PHP中关于php.ini参数优化详解
2020/02/28 PHP
JQuery实现简单时尚快捷的气泡提示插件
2012/12/20 Javascript
Jquery设置attr的disabled属性控制某行显示或者隐藏
2014/09/25 Javascript
在JavaScript中处理时间之setMinutes()方法的使用
2015/06/11 Javascript
JS实现支持多选的遍历下拉列表代码
2015/08/20 Javascript
JavaScript常用标签和方法总结
2015/09/01 Javascript
jQuery无刷新上传之uploadify3.1简单使用
2016/06/18 Javascript
window.open不被拦截的简单实现代码(推荐)
2016/08/04 Javascript
jQuery中弹出iframe内嵌页面元素到父页面并全屏化的实例代码
2016/12/27 Javascript
Bootstrap3 多选和单选框(checkbox)
2016/12/29 Javascript
JS动态添加的div点击跳转到另一页面实现代码
2017/09/30 Javascript
微信小程序实现获取自己所处位置的经纬度坐标功能示例
2017/11/30 Javascript
关于Vue单页面骨架屏实践记录
2017/12/13 Javascript
Vue中多个元素、组件的过渡及列表过渡的方法示例
2019/02/13 Javascript
详解vue微信网页授权最终解决方案
2019/06/16 Javascript
在vue中阻止浏览器后退的实例
2019/11/06 Javascript
vue实现数字动态翻牌的效果(开箱即用)
2019/12/08 Javascript
Python中用于去除空格的三个函数的使用小结
2015/04/07 Python
对于Python装饰器使用的一些建议
2015/06/03 Python
解决Django模板无法使用perms变量问题的方法
2017/09/10 Python
selenium+python截图不成功的解决方法
2019/01/30 Python
利用Python对文件夹下图片数据进行批量改名的代码实例
2019/02/21 Python
全面总结使用CSS实现水平垂直居中效果的方法
2016/03/10 HTML / CSS
HTML5 video播放器全屏(fullScreen)方法实例
2015/04/24 HTML / CSS
初中作文评语大全
2014/04/23 职场文书
环保倡议书100字
2014/05/15 职场文书
幼儿园中班教师个人总结
2015/02/05 职场文书
工作能力自我评价2015
2015/03/05 职场文书
力克胡哲观后感
2015/06/10 职场文书
Python数据分析入门之数据读取与存储
2021/05/13 Python
Python超详细分步解析随机漫步
2022/03/17 Python