我有一个用户表名称USERS user_id`, `username`, `user_type`, `password
,并且我还创建了一个登录表单,它运行良好。但是我想通过user_type创建一个SESSION,这意味着当用户从同一登录页面登录时,他们将被重定向到具有SESSION ID的其他页面,例如“ user and admin page”。我尝试了一些不同的方法,但是没有用。这是我最近的代码,我将如何使用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
?>`
答案 0 :(得分:0)
不是一个完整的答案,但可能足以让您完成其余的工作。如果没有,我很乐意提供更多帮助。 验证用户登录后,该代码将适合您现有的代码。
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 =“”或不存在-用户尚未登录