简体   繁体   English

本地主机重定向您太​​多次

[英]localhost redirected you too many times

I have a database and inside the database i have a user with a user type as admin. 我有一个数据库,并且在数据库中我有一个用户,其用户类型为admin。

As soon as i created a new user with user type member i was unable to login on my login page. 创建具有用户类型成员的新用户后,我无法在登录页面上登录。

It gave me an error saying that : 它给我一个错误,说:

localhost redirected you too many times.

PHP Code: PHP代码:

<?php
 //checks if login session variable exist? If it does, display Logout
 session_start();
 if (isset($_SESSION['login']) && $_SESSION['login'] != "") {
    //link to page logout.php and displays the word Logout + username
    echo "<li><a href='logout.php'>Logout " . $_SESSION['login'] . "</a></li>";
    if (isset($_SESSION['login']) && $_SESSION['usertype'] != "admin") {
        echo ("<li><a href='profile.php'>Profile</a></li>");
    } else {
        echo ("<li><a href='AdminPage.php'>Administrator</a></li>");
    }
    if ($_SESSION['login'] == "") {
        header("Location:login.php");
    }
    if ($_SESSION['login'] != "" && $_SESSION['usertype'] == "member") {
        header("location:home.php");
    }
} else {
    //else link to pagelogin.php and display the word Login
    echo ("<li><a href ='pagelogin.php'>Login</a></li>");
 }
?>

Also have a picture of the login.php codes : 也有一个login.php代码的图片:

在此处输入图片说明

First of all if you want to check a variable if its empty you can use the empty(variable). 首先,如果要检查变量是否为空,则可以使用empty(variable)。

Then to write your code better: 然后更好地编写代码:

if(!empty($_SESSION['login']) && $_SESSION['usertype'] =="member")
{
header("location:home.php");
}
else if(empty($_SESSION['login']))
{
    header("location:login.php");
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM