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);
}
?>