Новый PHPSESSID создается при вызове запроса к базе данных (с использованием Directus)

Контекст: я использую XAMPP (с версией PHP 7.0.29) и безголовый CMS Directus.

Чего я хочу добиться: я хочу создать единый логин на основе PHPSESSID. Как зарегистрированный пользователь, у вас есть возможность доступа к данным в базе данных.

Что происходит в данный момент: я могу войти в систему, а также считывать данные из базы данных. Но в моей папке / tmp xampp я вижу, что всякий раз, когда выполняется запрос к базе данных, добавляется новый файл PHPSESSID.

Ожидаемое поведение: при создании запроса к базе данных новый файл PHPSESSID создавать не следует.

Что я думаю: так как я использую Directus, а PHP SDK находится в подпапке моих файлов PHP, я мог бы предположить, что местоположение PHP перепутано и устанавливает новую сессию. Или что Directus нуждается в новой СЕССИИ для запроса к базе данных. Я не уверен, так что это нить.

Вот самые важные выдержки из моих файлов. И имейте в виду, что мой Frontend находится в localhost/ html, а SDK Directus находится в localhost/ directus-build.

login.php (интерфейс)

<?php session_start(); ?>

[...Login From...]

<script>
$("#login").submit(function(e){
  e.preventDefault();
  var email = $('#email').val(),
  password = $('#password').val();

  $.ajax({
      type: "POST",
      url: "querys/login.php",
      dataType: 'json',
      cache: false,
      data: {
        email: email,
        password: password
      }
  });
});
</script>

querys / login.php (логика)

<?php
session_start();
require '../vendor/autoload.php'; // Needed by Directus

$loginProcessor = \Directus\SDK\ClientFactory::create('TOKEN', [
  'base_url' => 'http://localhost/directus-build/',
  'version' => '1.1'
]);

// Check if email is in database
$userProcessor = $loginProcessor->getItems('users', [
  'filters' => [
    'email' => $_POST['email'] //i use POST here only for stackru example
  ]
]);

Когда я удаляю $userProcessor, PHP не создает новый файл PHPSESSID в / tmp. Очевидно, что второй PHPSESSID поступает через запрос к базе данных от Directus.

0 ответов

Другие вопросы по тегам