![](/img/trans.png)
[英]How to create a new menu item with information from database php and sessions
[英]How can I access database information with php sessions?
我是個nOOb。 我知道如何制作簡單的登錄腳本,但我不太明白如何使用$ _SESSION訪問不同頁面的數據庫信息/列。 我正在嘗試根據user_level顯示一個表。
用戶表
id |username |email |password | user_level | user_roles |last_login
dashboard.php
<?php if ($_SESSION['login_user'] == user_level["admin"]):?>
<div class="table">
Admin table
</div>
<?php else: ?>
<div class="table">
Employee table
</div>
的login.php
<?php
ob_start();
include 'includes/header.php';
if($_SERVER["REQUEST_METHOD"] == "POST") {
// username and password sent from form
$myusername = mysqli_real_escape_string($db,$_POST['username']);
$mypassword = mysqli_real_escape_string($db,$_POST['password']);
$update_query = "UPDATE users SET last_login=now() WHERE username='" .$myusername. "'";
$update_q = "UPDATE users SET last_update=now() WHERE username='" .$myusername. "'";
$sql = "SELECT id FROM users WHERE username = '$myusername' and password = '$mypassword'";
$execute_update = mysqli_query($db,$update_query);
$execute_u= mysqli_query($db,$update_q);
$result = mysqli_query($db,$sql);
$row = mysqli_fetch_array($result,MYSQLI_ASSOC);
$active = $row['active'];
$count = mysqli_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row
if($count == 1) {
$_SESSION['login_user'] = $myusername;
header("location: dashboard.php");
}else {
$error = "Your Login Name or Password is invalid";
}
}
?>
session.php文件
<?php
include '../includes/config.php';
$user_check = $_SESSION['login_user'];
$ses_sql = mysqli_query($db,"SELECT username FROM users WHERE username = '$user_check' ");
$row = mysqli_fetch_array($ses_sql,MYSQLI_ASSOC);
$login_session = $row['username'];
if(!isset($_SESSION['login_user'])){
header("location:../login.php");
}
?>
由於$ _SESSION ['login_user']和數據庫中的用戶名相同,因此可以在多個頁面中使用$ _SESSION變量來獲取登錄用戶的user_level。
//checkUserLevel.php
$user_check = $_SESSION['login_user'];
$ses_sql = mysqli_query($db,"SELECT * FROM users WHERE username = '$user_check' ");//This query will only return 1 user if usernames are unique
while($row = mysqli_fetch_assoc($ses_sql)){
$user_level = $row['user_level']; //Get user_level of that user
}
//Use in dashboard.php
include 'includes/checkUserLevel.php';
if($user_level=='admin'){
//Show Tables
}else{
//Do something else
}
如果不讓我知道你應該能夠使用這種方法,我會嘗試幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.