这个网页有一个重定向循环php? [英] This webpage has a redirect loop php?

查看:81
本文介绍了这个网页有一个重定向循环php?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的索引页面上,我有一个链接到我的 admin_login.php 页面,代码如下:

On my index page I have a link to my admin_login.php page with this code:

<?php
session_start();
if(!isset($_SESSION["manager"])) {
header("location:admin_login.php");
exit();
 }

$managerID = preg_replace('#[^0-9]#i','', $_SESSION["id"]);
$manager = preg_replace('#[^A-Za-z0-9]#i','', $_SESSION["manager"]);
$password = preg_replace('#[^A-Za-z0-9]#i','', $_SESSION["password"]);

include "../storescripts/connect_to_mysql.php";
$sql=mysql_query("SELECT*FROM admin WHERE id='$managerID' AND username='$manager' AND password='$password' LIMIT 1");
$existCount=mysql_num_rows($sql);
if($existCount==1) {
echo 'Na Na Na Na';
exit();
}

?>

在 admin_login.php 页面上

On the admin_login.php page I have

<?php
session_start();
if(!isset($_SESSION["manager"])) {
header("location:index.php");
exit();
}
?>
<?php
if(isset($_POST["username"])&&isset($_POST["password"])) {

 $manager = preg_replace('#[^A-Za-z0-9]#i','', $_POST["manager"]);
 $password = preg_replace('#[^A-Za-z0-9]#i','', $_POST["password"]);
 include "../storescripts/connect_to_mysql.php";
 $sql=mysql_query("SELECT id FROM admin WHERE username='$manager' AND     password='$password' LIMIT 1");
 $existCount=mysql_num_rows($sql);
 if($existCount==1) {
while($row = mysql_fetch_array($sql)) {
$id=$row["id"];
}
$_SESSION["id"]=$id;
$_SESSION["manager"]=$manager;
$_SESSION["password"]=$password;
header("location: index.php");
exit();
   } else { 
echo ' That info is incorrect , try again <a href="index.php"> Click Here </a>';
exit();
    }
    }
    ?>

我正在使用管理面板登录管理员以进行进一步的程序,但它向我展示了重定向循环的错误.

i am using a admin panel to login the admin for furhter procedure, but it shows me the eroor of redirect loop .

推荐答案

由于逻辑错误(重定向循环....)

it occurs due to a logic error (Redirection Looping....)

假设在 index.php $_SESSION["manager"] 由于以下代码而未设置

suppose at index.php $_SESSION["manager"] is not set due to following code

session_start();
if(!isset($_SESSION["manager"])) {
header("location:admin_login.php");
exit();
 }

由于以下代码

session_start();
if(!isset($_SESSION["manager"])) {
header("location:index.php");
exit();
}

它转到index.php

更新 嗯…………

警告: mysql_* 已弃用...

Warning: mysql_* are Depricated...

解决您的问题

这可能取决于你的逻辑......

it may depend on your logic ....

我可以说一个....

让我选择 loginPage.php(你可以有 index.php)作为管理员网关让代码

let me choose loginPage.php (you can have the index.php) be the admins gateway Let the code be

function LoginChecker()
{ //Returns 0=Not,1=ok,2=Fraud

$hashCode= md5("of your Security Factor"); //something for better security


if(isset($_SESSION["is_LoggedIn_as_Admin"]))
{
if(isset($_SESSION["Logged_Admin_HASH"]))
{
if($_SESSION["Logged_Admin_HASH"]==$hashCode) //something for better security
{
//its login time have your Code Goes 
 return 1;
}
else
{ return 2;}
}
else
{ return 2;}
}
else
{ return 0;}
}

像这样检查不仅仅是重定向

Check like this more than a Redirect

if(LoginChecker()==1)
{
//Logged in
}
else
{
//Html Code to show LoginPage or E......
//include "Login.php"
}

提醒在登录时设置$_SESSION["is_LoggedIn_as_Admin"] $_SESSION["Logged_Admin_HASH"]

这篇关于这个网页有一个重定向循环php?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆