0

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

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

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

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

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

我在正确的轨道上吗??

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

     <?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");
  }
?>
4

2 回答 2

2

你不能只做这样的比较:

if (['talent']==1)

您可能希望像这样进行比较:

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

本质上,您所做的是将数组与单个元素进行比较talentagainst 1

于 2013-09-11T19:49:27.947 回答
1

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

于 2013-09-11T19:49:04.930 回答