php - 当我尝试登录我的网站时显示 HTTP 错误 500
问题描述
我正在为我正在尝试制作的测试站点制作一个简单的登录页面。每次我尝试使用硬编码密码登录时,它都会给我一个 HTTP 500 错误,这意味着我拼错了一些东西,但我似乎可以找到问题所在,因为一切似乎都很好。
这是log-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>
如果您能帮助我解决这个问题,我将不胜感激。谢谢
解决方案
分号留在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>
推荐阅读
- html - 居中的内容是从具有固定高度和滚动条的父级中剪切出来的
- c - wscanf(L"%[^\n]") 正在输入垃圾
- curl - 当`curl -o`时`gzip:stdin:不是gzip格式`
- cs50 - CS50 金融指数。无法让数据出现在 HTML 表格中
- javascript - 提交表单并刷新 DIV 而不刷新页面不起作用?
- python - redis python p订阅带有回调的事件,而不调用.listen()
- java - 不能放入HashMap
- ibm-cloud - IBM Watson Assitant:如何获取完整地址
- excel - 在 Excel 中的上方单元格中查找单词的第一次出现
- python-3.x - “EarlyStopping”对象没有属性“on_train_batch_begin”