2016-06-21 63 views
-1

我有一个简单的表单提交,用于个人使用和测试的问题。 不幸的是我没有服务器以查看日志或设置错误报告的访问,但我试图做到这一点在我的PHP代码:php表单提交错误500

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

你到底做下面这行 - >如果($登录[$ _ POST [“用户名”]] == md5($ _ POST ['password'])){ – theinarasu

+0

它可能是错误的.htaccess –

+0

'check_login.php'看起来像什么,你把错误报告语句吗?此外,在尝试查找问题时,请勿使用“标题”重定向。 – jeroen

回答

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>'; 
+0

只有一点我没有发布的html代码,没有什么可担心的。我会检查并回复一个答案,谢谢! –

+0

谢谢!这是我所有问题的根源! –

+0

没问题,我很高兴能帮到你;) – Red