2016-12-06 135 views
1

我想創建一個表,其中每個用戶/組只能看到他們的數據。通過會話獲取登錄用戶的詳細信息

所以我做了每一個用戶/組擁有用戶表內的用戶類型數量

+---------+----------+------------------------------------------+----------+ 
 
| User_id | username | pwd          | usertype | 
 
+---------+----------+------------------------------------------+----------+
通過獲得當前所在的會話的用戶的用戶類型登錄,我想使下面的查詢爲主要數據表。

例如,如果用戶類型爲1的值,就可以看到與此查詢表(SELECT * FROM表WHERE用戶類型=「1」)

這是我loginsubmit.php哪裏是提交併啓動會話

<?php 
 
require_once('php_action/db_connect.php'); 
 
session_start(); 
 

 
if(isset($_SESSION['user_id'])) 
 
{ 
 
    $message = 'User is already logged in'; 
 
} 
 
if(!isset($_POST['username'], $_POST['pwd'])) 
 
{ 
 
    $message = 'Please enter a valid username and password'; 
 
} 
 
else if (strlen($_POST['username']) > 20 || strlen($_POST['username']) < 4) 
 
{ 
 
    $message = 'Incorrect Length for Username'; 
 
} 
 
else if (strlen($_POST['pwd']) > 20 || strlen($_POST['pwd']) < 4) 
 
{ 
 
    $message = 'Incorrect Length for Password'; 
 
} 
 
else if (ctype_alnum($_POST['username']) != true) 
 
{ 
 
    $message = "Username must be alpha numeric"; 
 
} 
 
else { 
 
    $username = filter_var($_POST['username'], FILTER_SANITIZE_STRING); 
 
    $pwd = filter_var($_POST['pwd'], FILTER_SANITIZE_STRING); 
 
    $pwd = sha1($pwd); 
 
    
 
    try { 
 
     
 
     $sql = "SELECT User_ID FROM User_Dfn WHERE username = '".$username."' AND pwd = '".$pwd."'"; 
 
    
 
     if($result=mysqli_query($connect,$sql)) { 
 
      while($row=mysqli_fetch_assoc($result)) { 
 
       $user_id = $row['User_ID']; 
 
       $usertype = $row['usertype']; 
 
       $_SESSION['user_id'] = $user_id; 
 
       $_SESSION['usertype'] = $usertype; 
 
       $_SESSION['timeout'] = time(); 
 
       
 
       header("Location: index.php"); 
 
       
 
      } 
 
     } 
 
     
 
     if($user_id == false); 
 
     { 
 
      $message ='Login Failed'; 
 
      
 
      
 
     } 
 
    } catch(Exception $e) { $message = 'Unable to process request'; } 
 
} 
 
?>

這裏是PHP文件中,這樣檢索數據的片段

<?php 
 

 
require_once 'db_connect.php'; 
 
$usertype= $_SESSION['usertype']; 
 

 
$output = array('data' => array()); 
 

 
$sql = "SELECT * FROM Service WHERE user_id = '$usertype'"; 
 
$query = $connect->query($sql);

嗯,我希望你明白我想解釋,這對我來說有點複雜..

它只是不加載用戶類型爲sqlquery的。我想我做錯了什麼

請幫

謝謝

+0

是什麼問題呢? – Akshay

+0

它不會將usertype加載到sql查詢中... – Woonghee

+0

這裏'$ sql =「選擇*從服務WHERE user_id ='$ usertype'」;'你遇到問題 – Akshay

回答

0

您還沒有檢索文件名爲session_start();

0

這將工作。

<?php 

require_once 'db_connect.php'; 
session_start(); 
$usertype= $_SESSION['usertype']; 

$output = array('data' => array()); 

$sql = "SELECT * FROM Service WHERE user_id = '$usertype'"; 
$query = $connect->query($sql); 

?> 

請參閱本documentation

+0

我已經包含它後,意識到它仍然沒有按我的意圖工作:無論如何,謝謝 – Woonghee

+0

$ usertype似乎有空值,所以我想我從數據庫中加載數據錯誤 – Woonghee

+0

寫'回聲'

'; var_dump($_SESSION); echo '
';' 'session_start()'之後。 – Akshay

相關問題