程序在本机没问题,传到空间上出事了。。。

wzwen 2008-12-05 09:43:51
程序在本机没问题,传到空间上出事了。。。

添加栏目页面,能添加进去,只是添加后跳转页面时有问题

现在报错:

Warning: Cannot modify header information - headers already sent by (output started at /home/wyxuanco/public_html/admin/admin_classadd.php:10) in /home/wyxuanco/public_html/admin/admin_classadd.php on line 27

代码如下:

if($_POST['submit']){
$classname = $_POST['classname'];
$classsort = $_POST['classsort'];
$sql="INSERT INTO wyx_class (wyx_classname,wyx_classsort) VALUES ('$classname','$classsort')";
$result=mysql_query($sql);
header("Location:admin_class.php");//第27行代码
}else{
?>
...全文
92 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Zijian_Zhang 2008-12-05
你服务器上的Php.ini的output_buffering这个设置,可能设置成Off,就是不自动为所用数据进行缓存,而你的本机的设置是On,所以会产生这种差异,解决办法有两种:
1、在header之前尽量找出输出的语句,最好可以删除,这样可以很快解决
2、如果有些输出语句必定要进行输出,你可以在PHP文件的顶部,使用ob_start的PHP函数进行手动缓存,这样就能达到像自动缓存的效果
回复
Zijian_Zhang 2008-12-05
你本机上边的php.ini设置了任何情况都使用缓存,而服务器没有,所以在header之前输出了一些东西(如在header前使用了echo等),这样导致头标已经发送,还用header输出头标,所以产生错误,所以你应该把原代码完整贴出来,或自己检查用header函数前有没有echo、print等输出操作。(即是在输出文字或字符串后才用header是错误的)
回复
justicesun 2008-12-05
配置不一样是肯定的...

很大可能性是:服务器上没有缓存输出,你的localhost上有缓存...
回复
justicesun 2008-12-05
说的很清楚了...headers already sent by xxx

也许你的本机上有缓存输出...所以header那个没问题

解决方案:直接用用echo 输出meta标签的Location试试 应该可以解决
回复
相关推荐
发帖
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
帖子事件
创建了帖子
2008-12-05 09:43
社区公告
暂无公告