根据用户类型重定向到另一个页面

时间:2015-04-05 17:00:17

标签: php mysql

<?php
    session_start();
    include("connection.php");
    if(isset($_GET['submit'])) {
        mysql_connect('localhost','root','') or die(mysql_error());
        mysql_select_db('awnb') or die(mysql_erroe());
        $Email=$_GET['LoginEmail'];
        $password=$_GET['LoginPassword'];
        if($Email!=""&&$password!="") {
            $query=mysql_query("select * from users where Email='".$Email."' and Password='".$password."'") or die(mysql_error());
            $res=mysql_fetch_row($query);
            if($res) {
                $userType = $res['Type'];
                if($userType == 'user') {
                    $_SESSION['Email']=$Email;
                    header("location:profileuser.php");
                    exit;
                } else if($userType == 'sec') {
                    $_SESSION['Email']=$Email;
                    header("location:profile.php");
                    exit;
                }
            } else {
                echo "
                <script type='text/javascript'>
                alert('Username or Password is incorrect');
                </script>";
                header("location:index.php");
            }
        } else {
            echo "
            <script type='text/javascript'>
            alert('Enter both Username and Passowrd');
            </script>";
            header("location:index.php");
        }
    }
?>
  • 在此代码中,Type是表中的一个属性,它告诉用户的类型,有两种类型的用户称为user或sec。如果type是user,它应该重定向到profileuser.php,否则重定向到profile.php但是我无法根据用户类型重定向页面。

1 个答案:

答案 0 :(得分:3)

要回答您的问题,您将获取一行numeric index

  

mysql_fetch_row()从关联的结果中获取一行数据   使用指定的结果标识符。该行作为数组返回。   每个结果列都存储在一个数组偏移量中,从偏移量0开始。

如果您想获得关联数组,则需要mysql_fetch_assoc

那就是说,你的代码有很多错误,你应该重新开始:

  • 不推荐使用mysql_*函数;
  • 您有SQL injection个问题;
  • 您正在存储纯文本密码;
  • 您正在回复header重定向之前的输出;
  • 您使用GET而不是POST来发送敏感的登录数据。

你可以在这里找到关于每个点的大量信息,所以我不打算重复,但就像我说的那样,你应该重新开始。