首页 > 后端开发 > php教程 > Cannot modify header information headr函数有关问题,代码很简单

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
发布: 2016-06-13 11:13:29
原创
694 人浏览过

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头
相关标签:
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板