我有一个简单的表单提交问题,供个人使用和测试。 不幸的是我无法访问服务器以查看日志或设置错误报告,但我尝试在我的PHP代码中执行此操作:
error_reporting(-1);
ini_set('display_errors', 'On');
所以我有这样的表格:
<form class="form-signin" method="POST" action="check_login.php">
<h2 class="form-signin-heading">Please sign in</h2>
<label for="username" class="sr-only">Username</label>
<input type="username" id="username" name="username" class="form-control" placeholder="username" required autofocus>
<label for="password" class="sr-only">Password</label>
<input type="password" id="password" name="password" class="form-control" placeholder="Password" required>
<button class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button>
</form>
此代码验证它:
$login = array('example' => '3f76d6c6b8aa132e8306a0b4e6e02916',
'another' => 'ef872ac2466ca845aa0547e02554d7e1',
'alsoexample' => '3b3efb7345b89c6bbef71e5b6f257426');
if ($login[$_POST['username']] == md5($_POST['password'])) {
$_SESSION['user']='logged';
header('Location: index.php');
} else {
header('Location: login.php');
}
?>
但是只要我点击提交按钮就会返回500错误。 我究竟做错了什么? 错误后我看了很多,但我找不到。非常感谢有人可以帮助我!
答案 0 :(得分:1)
我在我的服务器上测试了你的代码并且它运行良好。
您分享的部分上方是否有更多代码?我认为那里会出现500错误。
header('location: ')
也可能有效,因为标题已全部发送。
尝试用此替换它以查看是否会导致错误:
echo'<script type="text/javascript">window.location.replace("/index.php")</script>';
echo'<script type="text/javascript">window.location.replace("/login.php")</script>';