PHP 重定向取决于用户类型


PHP Redirect Depending On User Type

>我有一个相当基本的登录页面。我正在开发一个原型,同时学习PHP的来龙去脉。

在我的MySql数据库中,它看起来像这样:用户ID,用户名,密码,人才,客户。人才和客户都是二元的,只有一个可以是真的。

所以我要做的是,如果人才= 1,就把它们发送到index.php,如果客户= 1,就把它们送到招聘人员.php。

我 90% 确定我已经掌握了基础知识,但由于我添加了额外的 if 来检查人才和客户,它破坏了我的脚本:)

最后,我需要在每个页面上进行此检查,以确保客户不会访问人才页面,反之亦然。

我走在正确的轨道上吗?

我当前的脚本是这样做的:

     <?php
        include("resource/config.php");
        if($_SERVER["REQUEST_METHOD"] == "POST")
        {
        // username and password sent from Form 
            $myusername=addslashes($_POST['username']); 
            $mypassword=addslashes($_POST['password']); 
            $sql="SELECT UserID, talent, customer FROM useradmin WHERE username='$myusername' and passcode='$mypassword'";
            $result=mysql_query($sql);
            $row=mysql_fetch_array($result);
            $active=$row['active'];
            $count=mysql_num_rows($result);
        // If result matched $myusername and $mypassword, table row must be 1 row
        if ($row['talent']==1) {
                if ($count==1) {
                    $_SESSION['login_user']=$myusername;
                    header("location: index.php");
                }
                else {
                    $error="Your Email or Password is invalid";
                }
            }    
        elseif ($row['customer']==1) {
                if ($count==1) {
                    $_SESSION['login_user']=$myusername;
                    header("location: recruiter.php");
                }
                else {
                    $error="Your Email or Password is invalid";
                }
            }
        else {
            $error="Your Login Name or Password is invalid";
            }
        }
    ?>

此外,在每个页面的顶部,我都有这个,以确保只有登录用户才能访问它。

<?php
session_start();
include('config.php');
$user_check=$_SESSION['login_user'];
$ses_sql=mysql_query("select username from useradmin where username='$user_check' ");
$row=mysql_fetch_array($ses_sql);
$login_session=$row['username'];
if(!isset($login_session)) {
     header("Location: login.php");
  }
?>

你不能只做这样的比较:

if (['talent']==1)

您可能想像这样进行比较:

if ($row['talent']==1)

从本质上讲,您正在做的是将具有单个talent元素的数组与1进行比较。

它应该是if ($row['talent']==1)elseif ($row['customer']==1)