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 相关文章推荐
excellent!――ASCII Art(由目标图象生成ascii)
Feb 20 PHP
Blitz templates 最快的PHP模板引擎
Apr 06 PHP
php empty函数判断mysql表单是否为空
Apr 12 PHP
深入PHP操作MongoDB的技术总结
Jun 02 PHP
php删除字符串末尾子字符,删除开始字符,删除两端字符(实现代码)
Jun 27 PHP
使用phpQuery采集网页的方法
Nov 13 PHP
php实现httpclient类示例
Apr 08 PHP
利用php抓取蜘蛛爬虫痕迹的示例代码
Sep 30 PHP
浅谈关于PHP解决图片无损压缩的问题
Sep 01 PHP
thinkphp5 加载静态资源路径与常量的方法
Dec 24 PHP
php遍历目录下文件并按修改时间排序操作示例
Jul 12 PHP
4种Windows系统下Laravel框架的开发环境安装及部署方法详解
Apr 06 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
拼音码表的生成
2006/10/09 PHP
PHP数据集构建JSON格式及新数组的方法
2012/11/07 PHP
php实现简单洗牌算法
2013/06/18 PHP
PHP 在数组中搜索给定的简单实例 array_search 函数
2016/06/13 PHP
基于thinkphp5框架实现微信小程序支付 退款 订单查询 退款查询操作
2020/08/17 PHP
JS 自定义函数缺省值的设置方法
2010/05/05 Javascript
js jquery验证银行卡号信息正则学习
2013/01/21 Javascript
jQuery获取CSS样式中的颜色值的问题,不同浏览器格式不同的解决办法
2013/05/13 Javascript
jQuery动态添加删除select项(实现代码)
2013/09/03 Javascript
JavaScript创建闭包的两种方式的优劣与区别分析
2015/06/22 Javascript
解决jQuery上传插件Uploadify出现Http Error 302错误的方法
2015/12/18 Javascript
javascript中去除数组重复元素的实现方法【实例】
2016/04/12 Javascript
基于BootStrap Metronic开发框架经验小结【八】框架功能总体界面介绍
2016/05/12 Javascript
jQuery控制div实现随滚动条滚动效果
2016/06/07 Javascript
JS中用EL表达式获取上下文参数值的方法
2018/03/28 Javascript
详解Vue项目中出现Loading chunk {n} failed问题的解决方法
2018/09/14 Javascript
少女风vue组件库的制作全过程
2019/05/15 Javascript
Vue实例的对象参数options的几个常用选项详解
2019/11/08 Javascript
前端开发之便利店收银系统代码
2019/12/27 Javascript
[02:08]DOTA2英雄基础教程 马格纳斯
2014/01/17 DOTA
Python工程师面试题 与Python基础语法相关
2016/01/14 Python
Django使用AJAX调用自己写的API接口的方法
2019/03/06 Python
python实现12306登录并保存cookie的方法示例
2019/12/17 Python
浅谈python中频繁的print到底能浪费多长时间
2020/02/21 Python
用 python 进行微信好友信息分析
2020/11/28 Python
Selenium 配置启动项参数的方法
2020/12/04 Python
详解快速开发基于 HTML5 网络拓扑图应用
2018/01/08 HTML / CSS
HTML5中外部浏览器唤起微信分享功能的代码
2020/09/15 HTML / CSS
关于是否需要写商业计划书
2014/02/07 职场文书
毕业生简历自我评价范文
2014/04/09 职场文书
读群众路线的心得体会
2014/09/03 职场文书
中学生社区服务活动报告
2015/02/05 职场文书
开除员工通知
2015/04/22 职场文书
vue+echarts实现多条折线图
2022/03/21 Vue.js
Python爬虫网络请求之代理服务器和动态Cookies
2022/04/12 Python
MySQL创建管理HASH分区
2022/04/13 MySQL