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 Memcached + APC + 文件缓存封装实现代码
Mar 11 PHP
php 大数据量及海量数据处理算法总结
May 07 PHP
php中的三元运算符使用说明
Jul 03 PHP
PHP人民币金额数字转中文大写的函数代码
Feb 27 PHP
php中filter函数验证、过滤用户输入的数据
Jan 13 PHP
php中ltrim()、rtrim()与trim()删除字符空格实例
Nov 25 PHP
学习php开源项目的源码指南
Dec 21 PHP
Zend Framework实现多文件上传功能实例
Mar 21 PHP
PHP查看SSL证书信息的方法
Sep 22 PHP
Yii2框架RESTful API 格式化响应,授权认证和速率限制三部分详解
Nov 10 PHP
PHP数组对象与Json转换操作实例分析
Oct 22 PHP
ThinkPHP5分页paginate代码实例解析
Nov 10 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
《破坏领主》销量已超100万 未来将继续开发新内容
2020/03/08 其他游戏
phpmailer中文乱码问题的解决方法
2014/04/22 PHP
PHP面向对象精要总结
2014/11/07 PHP
php针对cookie操作的队列操作类实例
2014/12/10 PHP
yii2.0实现验证用户名与邮箱功能
2015/12/22 PHP
php 解析xml 的四种方法详细介绍
2016/10/26 PHP
Smarty模板语法详解
2019/07/20 PHP
JavaScript 验证浏览器是否支持javascript的方法小结
2009/05/17 Javascript
jquery 弹出登录窗口实现代码
2009/12/24 Javascript
extjs render 用法介绍
2013/09/11 Javascript
JavaScript遍历求解数独问题的主要思路小结
2016/06/12 Javascript
nodejs根据ip数组在百度地图中进行定位
2017/03/06 NodeJs
Vue2.0 UI框架ElementUI使用方法详解
2017/04/14 Javascript
Vue实例中生命周期created和mounted的区别详解
2017/08/25 Javascript
Vue filter介绍及详细使用
2018/04/04 Javascript
在HTML文档中嵌入JavaScript的四种方法
2018/05/07 Javascript
解决vue-photo-preview 异步图片放大失效的问题
2020/07/29 Javascript
vue使用transition组件动画效果的实例代码
2021/01/28 Vue.js
[01:00:11]DOTA2-DPC中国联赛 正赛 CDEC vs DLG BO3 第一场 2月7日
2021/03/11 DOTA
Python的Django REST框架中的序列化及请求和返回
2016/04/11 Python
python操作mysql数据库
2017/03/05 Python
python脚本作为Windows服务启动代码详解
2018/02/11 Python
Python 多线程不加锁分块读取文件的方法
2018/12/11 Python
解决Django后台ManyToManyField显示成Object的问题
2019/08/09 Python
Django ValuesQuerySet转json方式
2020/03/16 Python
Anaconda使用IDLE的实现示例
2020/09/23 Python
HTML5和CSS3实例教程总结(推荐)
2016/07/18 HTML / CSS
英国第二大营养品供应商:Vitabiotics
2016/10/01 全球购物
汉森冲浪板:Hansen Surfboards
2018/05/19 全球购物
人力资源部副职的竞聘演讲稿
2014/01/07 职场文书
六查六看剖析材料
2014/02/15 职场文书
演讲稿祖国在我心中
2014/05/04 职场文书
幼儿教师暑期培训方案
2014/08/27 职场文书
大专毕业生自我鉴定范文(2篇)
2014/09/27 职场文书
六查六看六改心得体会
2014/10/14 职场文书
《坐井观天》教学反思
2016/02/18 职场文书