2016-12-06 2 views
1

Я хочу создать таблицу, в которой каждый пользователь/группа могут видеть только свои данные.вошел в детали пользователя через сеанс

так что я сделал каждый пользователь/группу, чтобы их число UserType внутри таблицы пользователя

+---------+----------+------------------------------------------+----------+ 
 
| User_id | username | pwd          | usertype | 
 
+---------+----------+------------------------------------------+----------+
Получая в настоящее время вошли в системе UserType пользователя через сессию, я хочу сделать следующий запросом для основной таблицы данных ,

, например, если UserType имеет значение 1, то можно увидеть таблицу с этим запросом (SELECT * FROM таблицы WHERE UserType = «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);

Ну, я надеюсь, вы поняли, что я хотел объяснить, что это немного сложно для меня ..

это как раз не UserType нагрузки в SQLQuery. Я думаю, что я делаю что-то неправильно

Пожалуйста, помогите

Спасибо

+0

, что это проблема тогда? – Akshay

+0

не загружает пользователя в sql-запрос ... – Woonghee

+0

здесь '$ sql =" SELECT * FROM Service 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

пишу 'echo '

'; var_dump($_SESSION); echo '
';' после 'session_start()'. – Akshay

Смежные вопросы