这是什么原因

ok1818 宁波在线 副总经理  2004-12-09 04:11:48
Warning: Cannot modify header information - headers already sent by

系统提示我头部已经输出信息了。说我蛰居出错: header("Location:index.php");
...全文
35 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
loswing 2004-12-09
<?前面有个空格
或者
include $path."/global.php";里面有输出..
回复
xuzuning 2004-12-09
html代码不就是输出吗?
回复
ok1818 2004-12-09
我的代码是这样的,好像没输出的

<?

$path = "../bb/v3";
include $path."/global.php";


if($op == "logout") {
session_unregister("ManageId"); //管理员识别号
session_unregister("ManageUserName"); //管理员用户名
session_unregister("ManageModuleArray"); //可管理模块数组
session_unregister("ManageIsAdmin"); //是否为最高管理员
session_unregister("LoginOK"); //是否已经合法登陆
ToURL("/manage/login.php");
}
//启用数据库链接
MysqlConn();

if(isset($HTTP_POST_VARS["login"])){

if(empty($administrator)) ErrBack ("管理员用户名必须填写!!");
if(empty($password)) ErrBack ("请填写管理员密码!!");

//用户锁定检测
if(is_lock($administrator)) ErrBack("您连续3次输入密码错误,请在15分钟以后在试!!");

$query = $MYSQL->query("select *from manager where username='$administrator' and passwd='$password' and status=1");
if(mysql_num_rows($query)<1){
//记录错误
$query = $MYSQL->query("select *from v3_user_lock where UserName = '".$administrator."' and is_open = '1'");
if(mysql_num_rows($query)<1)
{
$sql = "insert into v3_user_lock(UserName,LoginTime,IP,is_open,Totel)values('".$administrator."','".time()."','".getenv("REMOTE_ADDR")."',1,1)";
$query = $MYSQL->query($sql);
}
ErrBack("密码验证错误或帐号已被注销");
}

$row = mysql_fetch_array($query);
$ManageId = $row[id];
$ManageUserName = $row[username];
$ManageModule = $row[Module];
$ManageIsAdmin = $row[is_admin];

$LoginOK = time();

session_register("ManageId");
session_register("ManageUserName");
session_register("ManageModule");
session_register("ManageIsAdmin");
session_register("LoginOK");

header("Location:index.php");
}
else {
// 显示登录窗口

?>
<html>
<head>
<title>后台系统</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link rel="stylesheet" href="/include/style.css" type="text/css">
<script>
function checkform(){
var administrator = document.form1.administrator.value;
var password=document.form1.password.value;

if (administrator=="") {
alert("用户名必须填写!!!");
document.form1.administrator.focus();
return false;
}
if (password=="") {
alert("密码必须填写!!!");
document.form1.password.focus();
return false;
}
return true;
}
<?
//显示错误信息
if(isset($err)) echo "alert('".$err."');";
?>
</script>
</head>

<body bgcolor="#eeeeee" text="#000000" leftmargin="0" topmargin="0">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="50" bgcolor="#cccccc"> </td>
</tr>
<tr bgcolor="#666666">
<td height="10"></td>
</tr>
</table>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="250" bgcolor="#FFFFFF">
<div align="center"><br>
<img src="images/main.jpg" align="absmiddle"><br>
<br>
<hr size=1>

<br>
<table border=0 cellspacing=0 cellpadding=0 width=50%>


<form name="form1" method="post" action="" onsubmit="return checkform();">
<tr>
<td align="middle" height=24>
管理员:<input type=text name=administrator size=11>
</td>

<td align="middle" height=24 >密  码:<input type=password name=password size=11>
</td>
<td align="middle" height=24 >
<input type=submit name=login value=" 登 录 ">
</td>
</tr>
</form>
</table>
<br>
</div>
</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#666666">
<tr>
<td> </td>
</tr>
</table>
<br>
<br>
<table width="90%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center"> Copyrihgt 2004 By Nbol </td>
</tr>
</table>
</body>
</html>
<?
}?>
回复
jxflll 2004-12-09
是的。把header("Location:index.php");
之前的输出全都去掉就好了。
回复
PcVSBirds 2004-12-09
晕倒!象header这种指令必须在未向浏览器发送任何输出之前执行:) 我也之前碰到过:)手册上有
回复
-神仙- 2004-12-09
前面不能有任何输出
包括空格
回复
相关推荐
发帖
基础编程
创建于2007-09-28

2.1w+

社区成员

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