成功登录后PHP重定向
我遇到了一个简单的验证文件问题,它在登录成功后没有重定向到索引页。成功登录后PHP重定向
基本上login.php文件具有用于登录的html表单,表单调用auth.php文件,该文件已经有登录数据并决定您的登录名和密码是否正确。现在它应该在成功登录后重定向到index.php,但它不会,它只是清理login.php文件中的表单,并继续尝试,但如果刷新页面(成功登录后),您将自动重定向索引页面。
固定!将代码更改为更简单的代码。
if($logindata[$_POST["username"]]==$_POST["password"])
这一点看起来不正确;也许你正在寻找:
if($logindata[$_POST["password"]]==$_POST["password"])
有时头不能很好地对某些原因的工作,而不是试图用一个简单的HTML重定向这样的:
<?php
$usernames = array("user1", "user2");
$passwords = array("pass1", "pass2");
$page = "index.php";
for($i=0;$i<count($usernames);$i++){
$logindata[$usernames[$i]]=$passwords[$i];
}
$found = 0;
for($i=0;$i<count($usernames);$i++) {
if ($usernames[$i] == $_POST["username"]) {
$found = 1;
}
}
if ($found == 0) {
$redirect_url = "./login.php?login_error=1"
}
if($logindata[$_POST["username"]]==$_POST["password"]) {
session_start();
$_SESSION["username"]=$_POST["username"];
$redirect_url = "./index.php"
}
else {
$redirect_url = "./login.php?login_error=2"
}
echo "<center><br><br><br><p>You will be redirected in about 2 seconds. If not, click this link: <a href='$redirect_url'>Back</a></p></center>";
?>
<html>
<head>
<meta http-equiv="refresh" content="2;url='<?php echo "$redirect_url"; ?>'/>
<title>Redirecting...</title>
</head>
</html>
<?php
exit;
?>
我推测,重定向位置是相同的php文件的文件夹。调整它们不是的var $ redirect_url路径。
,这完全打破了验证 – EvilNabster 2014-12-13 13:31:27
标头位置总是很好。如果一个标题位置不能正常工作99.9%,因为在输出之前你试着改变标题。对于好的做法,你应该总是遵循一个标题('Location:http://www.example.com');'用'exit;' – DarkBee 2014-12-13 14:32:05
nope它检查数组,如果密码与用户名数组在同一位置。 – EvilNabster 2014-12-13 13:32:11