返回信息流小学期的作业,用php写,现在遇到的问题是,有些页面是登录后才可以看到的,用session进行判断,写了一个test.php代码是
<?php
session_start();
if(!isset($_SESSION['valid_user']))
{
//如果没有设置session,就跳回index.php
header("refresh:0;url=index.php");
}
?>
登录后才能看的页面最前面include这个test.php
结果没有跳到index.php,并且报错
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at D:\xampp\htdocs\mobile_test\main_index.php:1) in D:\xampp\htdocs\mobile_test\test.php on line 2
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at D:\xampp\htdocs\mobile_test\main_index.php:1) in D:\xampp\htdocs\mobile_test\test.php on line 2
Warning: Cannot modify header information - headers already sent by (output started at D:\xampp\htdocs\mobile_test\main_index.php:1) in D:\xampp\htdocs\mobile_test\test.php on line 7
求助。谢谢
这是一条镜像帖。来源:北邮人论坛 / www-technology / #10330同步于 2010/7/14
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖
[求助]php的session
qiongqi
2010/7/14镜像同步16 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
检查一下在session_start()前是不是有输出
【 在 qiongqi (天二) 的大作中提到: 】
: 小学期的作业,用php写,现在遇到的问题是,有些页面是登录后才可以看到的,用session进行判断,写了一个test.php代码是
: <?php
: session_start();
: ...................
session_start()之前不能有输出。
应该是main_index.php里面有东西打出来了。
【 在 qiongqi (天二) 的大作中提到: 】
: 小学期的作业,用php写,现在遇到的问题是,有些页面是登录后才可以看到的,用session进行判断,写了一个test.php代码是
: <?php
: session_start();
: ...................
【 在 xw2423 的大作中提到: 】
: 检查一下在session_start()前是不是有输出
是在main_index.php中引用的,在第一行写的
<?php
include("test.php");
?
它前面没有任何代码了
<?是顶头写的么?
如果是的话……查一下是不是UTF8的BOM头的问题。
【 在 qiongqi (天二) 的大作中提到: 】
: 是在main_index.php中引用的,在第一行写的
: <?php
: include("test.php");
: ...................
你的SESSION是不是真有了,登录系统的流程就是先从数据库判断,判断通过,赋值SESSION或COOKIE,再跳转,若先跳转保护页面的话,session寸不进。
出个小问题:session_start() 之前为什么不能有输出?
【 在 xw2423 (静水之人) 的大作中提到: 】
: 检查一下在session_start()前是不是有输出
让我猜一下啊~~
由于是使用cookie保存PHP_SESSION_ID的,而cookie又在http的头里,设置HTTP头必须在输出页面之前。
嗯,不对的话周总来纠正。
【 在 coolfantasy 的大作中提到: 】
: 出个小问题:session_start() 之前为什么不能有输出?