你好,我有一些我的代碼有問題。即使我的老師也幫不了我,我也不知道還有什麼可去的地方。當我的foreach循環被激活並且密碼和用戶名與硬編碼字符串相同時,它仍然會重定向到loginerror.php。當我刪除標題(「Location:loginerror.php」)時,它的功能很好。爲什麼我的代碼的最後一行仍然被激活,當它應該加載一個新的頁面?Php不發送標題
<?php session_start(); ?>
<html>
<header></header>
<body>
<form action="login.php" Method="post">
Username: <input type="text" name="Username"> </br></br>
Password: <input type="password" name="Password"> </br></br>
<input type="submit" value="Login"></br></br>
</form>
<?php
$username=$_POST["Username"];
$password=$_POST["Password"];
if($username == NULL){print("Enter a Username please");}
else {
$users= array
(
"Bourne"=>"postcode",
"Unidan"=>"pincode",
"yoda"=>"sith"
);
foreach($users as $user=>$password_value)
{
if(($user==$username)&&($password_value==$password))
{
$_SESSION['login?']=1;
header("Location: calculation.php");
}}
$_SESSION['login?']=0;
header("Location: loginerror.php");
}
?>
</body>
</html>
''連我的老師都不能幫助我'' - 我強烈建議找一個更好的老師。 – David
你的老師是無能爲力的......你的header()調用將不起作用,因爲你在header()代碼到達之前已經輸出了完整的html文檔。 –
那些不能教的。 –