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

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{
?>
...全文
120 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
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试试 应该可以解决

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧