首頁 > 後端開發 > php教程 > Cannot modify header information headr函数有关问题,代码很简单

Cannot modify header information headr函数有关问题,代码很简单

WBOY
發布: 2016-06-13 12:54:33
原創
757 人瀏覽過

Cannot modify header information headr函数问题,代码很简单
login.php

<br />
<html><br />
<title><br />
登陆界面<br />
</title><br />
<head><br />
<meta http-equiv="content-type" content="text/html;charset=utf-8" /><br />
</head><br />
<body><br />
<form action="loginController.php" method="post"><br />
<table><br />
<tr><td>用户名:</td><td><input type="text" name="username"/></td></tr><br />
<tr><td>密码:</td><td><input type="text" name="password"/></td></tr><br />
<tr><td><input type="submit" value="登陆"/><td><input type="reset" name="重新填写"/></td></tr><br />
</table><br />
</form><br />
</body><br />
</html><br />
<br />
loginController.php<br />
<html><br />
<title><br />
验证控制器<br />
</title><br />
<head><br />
<meta http-equiv="content-type" content="text/html;charset=utf-8" /><br />
</head><br />
<body><br />
<?php<br />
$username=$_REQUEST['username'];<br />
$password=$_REQUEST['password'];<br />
if($username=='123'&&$password=='123'){<br />
	header("location:Manage.php");<br />
	exit();<br />
} else{<br />
  echo '账号密码有误';<br />
}<br />
?><br />
</body><br />
</html><br />
<br />
<html><br />
<title><br />
管理界面<br />
</title><br />
<head><br />
<meta http-equiv="content-type" content="text/html;charset=utf-8" /><br />
</head><br />
<body><br />
<h1>欢迎管理员</h1><br />
</body><br />
</html><br />
<br />
输入用户名密码123<br />
错误提示如下:<br />
Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\sqlInjcetion\loginController.php:9) in C:\wamp\www\sqlInjcetion\loginController.php on line 13<br />
<br />
求解!<br />
另外3个php文件都是utf-8编码<br />
登入後複製


------解决方案--------------------
------解决方案--------------------
你那么多html代码就是输出了
搜索下php缓冲区 header
这个问题的解释还是很多的呀.............

header("location:manage.php")
也可以换成
eacho "<script>window.location.href='manage.php'</script>";

------解决方案--------------------
根据http原理(注意跟php没啥关系)
http头必须先于http实体输出
所以
从你的.php文件输出了第一个非 此时再输出http响应头则无济于事,werbserver也做不了这个事情了。
------解决方案--------------------
补充一句,header本身就是修改http响应头,重定向location:只是一种的一种用法(实际被加上了302响应码)
------解决方案--------------------
引用:
引用:采用js跳转或者将header前面的html代码删掉

我删除了前面的HTML代码。现在代码如下:
PHP code?12345678910


注意文件格式。bom头
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板