首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >警告:无法修改标题信息-已由[登录表单中的错误]发送的标题

警告:无法修改标题信息-已由[登录表单中的错误]发送的标题
EN

Stack Overflow用户
提问于 2015-11-25 11:11:02
回答 2查看 329关注 0票数 0

我在创建一个没有数据库的页面时遇到了问题,似乎一切都很好,除非我登录时得到了这个错误Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\index.php:25) in C:\AppServ\www\index.php on line 65

我想知道有什么问题吗?这是一个非常简单的网页,其中包含一个登录表单,如果用户名和密码是正确的,用户应该会看到一个欢迎的msg +注销,由于标题错误而不会出现。

代码语言:javascript
复制
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head lang="en">
	<meta http-equiv="content-type" content="text/html;charset=UTF-8">
	<title>Login To Your Account</title>
	<!-- Framework CSS -->
	<link rel="stylesheet" href="assets/blueprint-css/screen.css" type="text/css" media="screen, projection">
	<link rel="stylesheet" href="assets/blueprint-css/print.css" type="text/css" media="print">
	<!--[if lt IE 8]><link rel="stylesheet" href="assets/blueprint-css/ie.css" type="text/css" media="screen, projection"><![endif]-->
	<link rel="stylesheet" href="assets/blueprint-css/plugins/fancy-type/screen.css" type="text/css" media="screen, projection">
	<style type="text/css" media="screen">
		p, table, hr, .box { margin-bottom:25px; }
		.box p { margin-bottom:10px; }
	
	</style>
</head>



<body>
	<div class="container">
	
		<h3 class="center alt"> Welcome.</h3>
		
		<hr>
<?php

$username = 'username';
$password = 'password';

$random1 = 'secret_key1';
$random2 = 'secret_key2';

$hash = md5($random1.$pass.$random2); 

$self = $_SERVER['REQUEST_URI'];




if(isset($_GET['logout']))
{
	unset($_SESSION['login']);
}




if (isset($_SESSION['login']) && $_SESSION['login'] == $hash) {

	?>
			
		<p>Hello <?php echo $username; ?>, you have successfully logged in!,</p>
		<a href="?logout=true">Logout</a>
			
	<?php
}


else if (isset($_POST['submit'])) {

	if ($_POST['username'] == $username && $_POST['password'] == $password){
	
		//IF USERNAME AND PASSWORD ARE CORRECT SET THE LOG-IN SESSION
		$_SESSION["login"] = $hash;
		header("Location: $_SERVER[PHP_SELF]");
		
	} else {
		
		display_login_form();
		echo '<p>Username or password is invalid</p>';
		
	}
}	

else { 

	display_login_form();

}


function display_login_form(){ ?>

	<form action="<?php echo $self; ?>" method='post'>
	<label for="username">Username:  </label>
	<input type="text" name="username" id="username">
        <br>
<br>
	<label for="password">Password:  </label>
	<input type="password" name="password" id="password">
<br>
<br>
	<input type="submit" name="submit" value="Submit">
<br>
	</form>	
<?php } ?>


<br>
<hr>
<p>&nbsp;</p>
<p>Copyright © 2015 -</p> 
		
		
		<hr class="space">
	</div><!-- end div .container -->

</body>

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-25 11:13:33

在使用header()函数之前,不能有任何输出。

在将任何内容发送到浏览器之前,您需要进行登录检查/redirect。

票数 0
EN

Stack Overflow用户

发布于 2015-11-25 11:12:29

请将会话设置在页面的顶部。

代码语言:javascript
复制
session_start();
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33914994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档