Home > Backend Development > PHP Tutorial > Cannot modify header information headr函数有关问题,代码很简单

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

WBOY
Release: 2016-06-13 12:54:33
Original
755 people have browsed it

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 />
Copy after login


------解决方案--------------------
------解决方案--------------------
你那么多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头
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template