2017-07-13 11 views
0

私はPHPバックエンドでAngularJsアプリケーションを開発しています。認証ステップを実装しましたが、認証後に別のビューに認証済みユーザーのデータを表示しようとしています。セッションを実装する2つのfiles.phpがあります:最初のもの(login.php)はログイン関数によって呼び出され、2番目のもの(info.php)は他の関数によって呼び出されてユーザデータを表示します。PHPバックエンドでのセッションの使い方

セッションやトークンに関するチュートリアルで2週間以上読んだことがあっても、ユーザーデータを表示することはできません。 私を助けてもらえますか?

login.php

<?php 
session_start(); 
$data = json_decode(file_get_contents("php://input")); 

$connect = mysqli_connect("localhost", "root", "", "test"); 

if(count($data) > 0) 

{ 

$Email=mysqli_real_escape_string($connect, $data->Email); 
$mdp=mysqli_real_escape_string($connect, $data->mdp); 

$query = 'SELECT * FROM `client` WHERE (EmailClient = "'.$Email.'" AND mdp= "'.$mdp.'")'; 

$q = mysqli_query($connect , $query); 

if(mysqli_num_rows($q) > 0) 
    { 
     $token = md5($Email.time()."51395+81519851"); 
     $query = "UPDATE client SET token = '".$token."' WHERE EmailClient = '".$Email."'"; 
     mysqli_query($connect , $query); 
     $_SESSION["logged_in"] = true; 
     $_SESSION["token"] = $token; 
     $_SESSION["naam"] = $Email; 
     $result['code'] = 200; 
     $result['message'] ='Logged In'; 
     $result['email'] =$Email; 
     $result['role'] = 'client'; 
     $result['token'] = $token; 

     $resultstring=json_encode($result); 
     $resultstring=str_replace("null", '""', $resultstring); 
     echo $resultstring; 
     exit; 
    } 


     $result['code'] = 603; 
     $result['message'] ='The username or password are incorrect!'; 



$resultstring = json_encode($result); 
$resultstring = str_replace("null",'""',$resultstring); 
echo $resultstring; 
exit; 
} 

?> 

info.php info.php、例の機能にログインしている場合はチェックを追加する必要が

<?php 
session_start(); 
$connect = mysqli_connect("localhost", "root", "", "test"); 

$output = array(); 
$query = "SELECT NomClient,PrenomClient,EmailClient FROM client WHERE token = '".$_SESSION['token']."'"; 
$result = mysqli_query($connect, $query); 
if(mysqli_num_rows($result) > 0) 
{ 
     while($row = mysqli_fetch_array($result)) 
     { 
      $output[] = $row; 
     } 
     echo json_encode($output); 
} 

?> 

答えて

0

<?php 
     session_start(); 
     if ($_SESSION["logged_in"] == false) 
     { 
      echo "you need to be logged in to view this page!"; 
      die(); 
     } 
関連する問題