Значение переменной сеанса не определено

#php #session

#php #сессия

Вопрос:

Я получаю неопределенное значение сеанса во время работы!

create.php

 <?php
session_start();
require_once('class_post.php');
$post=new Post();
$postid=$post->createPost();
$_SESSION["post_id"]=$postid;
echo $_SESSION["post_id"];
?>
  

Вывод : 142


test.php

 <?php
session_start();
print_r($_SESSION);
?>
  

Вывод : Массив ( [post_id] => не определено)

Комментарии:

1. какая версия php? и можете ли вы также показать свой метод createPost()?

2. Версия PHP: 7.2.7 public function createPost(){ $create_post_statement = "INSERT INTO post(user_id,created_on, status) VALUES (?,NOW(),?)"; $sql_result = $this->db->query($create_post_statement,$this->user,'Draft'); return $this->db->getInsertedId(); }

Ответ №1:

В PHP нет undefined ключевого слова, поэтому я полагаю, что оно взято, например, из JavaScript. Если переменная не установлена, она вернется NULL и вызовет уведомление php.

Поэтому я бы предпочел проверить весь свой код JavaScript.

Комментарии:

1.Да! Я выполняю create.php код с использованием javascript XMLHttpRequest. Есть ли какой-либо способ установить переменную сеанса?