转换多用户登录



我有一个用户表名称用户 user_id`, `username`, `user_type`, `password,我还创建了一个登录表单,它运行良好。但是我想通过User_type创建会话,我的意思是,当用户从同一登录页面登录时,他们将重定向到具有会话ID的不同页面,例如"用户和管理页面"。我尝试了一些不同的方式,但它不起作用。这是我最近的代码,我如何使用user_type任何帮助将不胜感激!html形式

<input type="text" class="form-control" id="username" name="username" placeholder="Username" autocomplete="off" />
<input type="password" class="form-control" id="password" name="password" placeholder="Password" autocomplete="off" />
<button type="submit" class="btn btn-default"> <i class="glyphicon glyphicon-log-in"></i> Sign in</button>

`

session_start();
if(isset($_SESSION['userId'])) {
header('location: http://localhost/stock/dashboard.php');   
}
$errors = array();
if($_POST) {        
$username = $_POST['username'];
$password = $_POST['password'];
if(empty($username) || empty($password)) {
    if($username == "") {
        $errors[] = "Username is required";
    } 
    if($password == "") {
    $errors[] = "Password is required";
    }
} else {
$sql = "SELECT * FROM users WHERE username = '$username'";
    $result = $connect->query($sql);
    if($result->num_rows == 1) {
        $password = md5($password);
        // exists
        $mainSql = "SELECT * FROM users WHERE username = '$username' AND password = '$password'";
        $mainResult = $connect->query($mainSql);
        if($mainResult->num_rows == 1) {
    $value = $mainResult->fetch_assoc();
    $user_id = $value['user_id'];
    $_SESSION['userId'] = $user_id;
    header('location: 
    http://localhost/stock/dashboard.php'); 
    } else{$errors[] = "Incorrect username/password combination";
        } 
    } else {        
    $errors[] = "Username doesnot exists";      
    } // /else
} // /else not empty username // password
} // /if $_POST
?>`  

不是一个完整的答案,但可能足以让您完成其余的答案。如果没有,我很乐意提供更多帮助。验证用户登录后,该代码将适合您的现有代码。

  switch ($usergroup)
  {
    case "ACCOUNTS":
        $rootfile = dirname(__FILE__).DIRECTORY_SEPARATOR."accounts.html.php";
    break;
    case "ENGINEERS":
        $rootfile = dirname(__FILE__).DIRECTORY_SEPARATOR."engineers.html.php";
    break;
  }
  if (file_exists($rootfile))
  {
    include $rootfile;
  }
  else 
  {
    echo "<br> ROOT FILE DOES NOT EXIST <br>";
  }

您必须在此代码之前将UserGroup(或USERTYPE)在变量中获取。

稍后添加

您已经在会话中存储了一个用户ID参考

$_SESSION['userId'] = $user_id;

只有在用户正确登录时才能设置在以后的页面上(例如,帐户或工程师所包含的文件),您可能希望首先检查它们已经登录您可以使用这样的行进行此操作

$user_was = $_SESSION['userId'];

然后,如果$ user_was ="或不存在 - 用户尚未登录

最新更新