当我尝试登录我的网站时显示 HTTP 错误 500
HTTP Error 500 displayed when i try logging into my website
我正在为我尝试制作的测试站点制作一个简单的登录页面。每次我尝试使用硬编码密码登录时,它都会给我一个 HTTP 500 错误,这意味着我拼错了一些东西,但我似乎可以找到问题所在,因为一切似乎都很好。
这是日志-in.php代码:
<!DOCTYPE HTML>
<?php
session_start();
$username = "user";
$password = "pass";
if (isset($_SESSION['loggedIn']) && $_SESSION['loggedIn'] == true){
header("Location: success.php");
}
if (isset($_POST['username']) && isset($_POST['password'])){
if($_POST['username'] == $username && $_POST['password'] == $password){
$_SESSION['loggedIn'] = true;
header("Location: success.php");
}
}
?>
<html>
<body>
<form method="post" action="log-in.php">
Username:<br/>
<input type="text" name="username"><br/>
Password<br/>
<input type="password" name="password"><br/>
<input type="submit" value="Login!">
</form>
</body>
</html>
这就是我想在输入正确密码时显示的内容。这是 success.php 代码:
<!DOCTYPE HTML>
<?php
session_start();
if(!isset($_SESSION['loggedIn']) || $_SESSION['loggedIn'] == false){
header("Location: index.html")
}
?>
<html>
<h>You have logged in!</h>
</html>
如果你能帮我解决这个问题,我将不胜感激。
谢谢
删除 <!DOCTYPE HTML>
,您不能 header 将输出发送到浏览器后重定向。
success.php 中第 6 行左侧的分号。
必须在php中使用分号,否则会导致错误 500。
<!DOCTYPE HTML>
<?php
session_start();
if(!isset($_SESSION['loggedIn']) || $_SESSION['loggedIn'] == false){
header("Location: index.html")
}
?>
<html>
<h>You have logged in!</h>
</html>
应该改为
<!DOCTYPE HTML>
<?php
session_start();
if(!isset($_SESSION['loggedIn']) || $_SESSION['loggedIn'] == false){
header("Location: index.html");//semicolon added
}
?>
<html>
<h>You have logged in!</h>
</html>
我正在为我尝试制作的测试站点制作一个简单的登录页面。每次我尝试使用硬编码密码登录时,它都会给我一个 HTTP 500 错误,这意味着我拼错了一些东西,但我似乎可以找到问题所在,因为一切似乎都很好。
这是日志-in.php代码:
<!DOCTYPE HTML>
<?php
session_start();
$username = "user";
$password = "pass";
if (isset($_SESSION['loggedIn']) && $_SESSION['loggedIn'] == true){
header("Location: success.php");
}
if (isset($_POST['username']) && isset($_POST['password'])){
if($_POST['username'] == $username && $_POST['password'] == $password){
$_SESSION['loggedIn'] = true;
header("Location: success.php");
}
}
?>
<html>
<body>
<form method="post" action="log-in.php">
Username:<br/>
<input type="text" name="username"><br/>
Password<br/>
<input type="password" name="password"><br/>
<input type="submit" value="Login!">
</form>
</body>
</html>
这就是我想在输入正确密码时显示的内容。这是 success.php 代码:
<!DOCTYPE HTML>
<?php
session_start();
if(!isset($_SESSION['loggedIn']) || $_SESSION['loggedIn'] == false){
header("Location: index.html")
}
?>
<html>
<h>You have logged in!</h>
</html>
如果你能帮我解决这个问题,我将不胜感激。 谢谢
删除 <!DOCTYPE HTML>
,您不能 header 将输出发送到浏览器后重定向。
success.php 中第 6 行左侧的分号。
必须在php中使用分号,否则会导致错误 500。
<!DOCTYPE HTML>
<?php
session_start();
if(!isset($_SESSION['loggedIn']) || $_SESSION['loggedIn'] == false){
header("Location: index.html")
}
?>
<html>
<h>You have logged in!</h>
</html>
应该改为
<!DOCTYPE HTML>
<?php
session_start();
if(!isset($_SESSION['loggedIn']) || $_SESSION['loggedIn'] == false){
header("Location: index.html");//semicolon added
}
?>
<html>
<h>You have logged in!</h>
</html>