Вызов API с использованием angular 7 не читает переменные сеанса PHP

Мне нужно создать простой логин с угловыми и использовать сессии.
для этого у меня есть два php-файла и угловые файлы.

Это файл PHP 1

session_start();
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: PUT, GET, POST, DELETE, OPTIONS');
header('Access-Control-Allow-Headers: Content-Type');


$postdata = file_get_contents("php://input");

if(isset($postdata) && !empty($postdata)) {

$request = json_decode($postdata);
$username=trim($request->username);
$password=trim($request->password);

if($username == 'admin' && $password == 'admin') {
$_SESSION['user'] = 'admin';
?>
{
"success": true,
"secret": "This is the secret no one knows but the admin"}
<?php
} else {
?>
{
"success": false,
"message": "Invalid credentials"}
<?php
}
} else {
//var_dump($_POST)
?>
{
"success": false,
"message": "Only POST access accepted"}
<?php


}

?>

Это PHP-файл 2

    <?php
session_start();
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: PUT, GET, POST, DELETE, OPTIONS');
header('Access-Control-Allow-Headers: Content-Type');

$user = $_SESSION['user'];

echo '{
"message": "'.$user.'",
"success": true
}';


?>

В одном из моих компонентов ngOnInit () я вызвал оба этих API-интерфейса (я знаю, что первый должен быть вызван кнопкой входа в систему, но для целей тестирования я использовал оба под одним). Я даже использовал функцию settimeout для задержки второго вызова

 ngOnInit() {


this.auth.getUserDetails('admin','admin')
.subscribe(
data => {
console.log('success',data);
if(data.success){

}
else{
window.alert("invalid");
}

},
error=> {
console.log('failed',error);


}
)
var _this=this;
setTimeout(function(){


_this.user.getSomeData().subscribe(data=>{

console.log(data);

})

}, 3000);


}

Но все же пользовательский сеанс недоступен .. Мне нужна помощь, чтобы понять причину.
Пожалуйста, проверьте изображение.
Для первого поста запрос является успешным, но второй запрос на получение не прошел.
Он говорит, что переменная сеанса, которую я использовал (пользователь), недоступна.
Но эта переменная была установлена ​​предыдущим запросом.

Это ошибка, которую я получаю

Спасибо

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector