Я занимаюсь разработкой приложения Angular 5 с PHP-сервером, в котором пользователь должен войти в систему, чтобы получить доступ к другому компоненту. Я использую Wamp, и моя страница login.php содержит следующую информацию:
<?php
if(session_status() == PHP_SESSION_NONE){
error_log("Not started");
session_start();
}
header("Access-Control-Allow-Headers: Content-Type");
header("Access-Control-Allow-Origin: *");
require_once ('./DBConnect.php');
$conn = mysqli_connect($servername, $username, $password, $db ,$port);
$regUserData = json_decode(file_get_contents("php://input"),true);
$response = array();
$email = $regUserData['email'];
$pass = $regUserData['password'];
$pass = md5($pass);
if($email ===''||$pass ===''){
$response['success'] = FALSE;
$response['msg'] = 'Please fill all fields';
}
else{
$query1 = "select * from user where Email = '".$email."'";
$result1 = $conn->query($query1);
if(mysqli_num_rows($result1)===0){
$response['success'] = FALSE;
$response['msg'] = 'User does not exist';
}
else{
$query2 = "select * from user where Email = '".$email."' and Password = '".$pass."'";
$result2 = $conn->query($query2);
$row1 = mysqli_fetch_assoc($result2);
if(mysqli_num_rows($result2)===0){
$response['success'] = FALSE;
$response['msg'] = 'Email or password incorrect';
}
else{
$_SESSION['Id'] = $row1['Id'];
$response['success'] = true;
}
}
}
echo json_encode($response);
Используются 2 оператора заголовка, поскольку wamp находится на другом порту, чем мое приложение Angular. Эта страница login.php работает нормально, но когда я пытаюсь передать переменную сеанса на другую страницу php, в файле error_log появляются ошибки, что переменная 'Id' не определена. Это моя вторая страница php:
<?php
session_start();
header("Access-Control-Allow-Headers: *");
header("Access-Control-Allow-Origin: *");
require_once ('./DBConnect.php');
$conn = mysqli_connect($servername, $username, $password, $db ,$port);
error_log($_SESSION['Id']); //The error is on this line
$query = "select * from Service";
$result = $conn -> query($query);
$arraySingle = array();
$arrayAll = array();
while($row = mysqli_fetch_assoc($result)){
$arraySingle = array(
'Name' => $row['Name'],
'Desc' => $row['Description']
);
$arrayAll[] = $arraySingle;
}
echo json_encode($arrayAll);
Я получаю ошибку:
Примечание PHP: Неопределенный индекс: Идентификатор в C: \ wamp64 \ www \ ProjetErgonomie \ GetServices.php в строке 8
Может кто-нибудь помочь мне с моей проблемой? Спасибо !!