2016-07-31 8 views
-2

У меня есть страница клиента, использующая PHP, которая затем переходит на страницу Wordpress. Сеанс на странице клиента запоминается, но когда я загружаю новую страницу из Wordpress, сеанс пуст. Почему Wordpress не сохраняет мои данные сеанса, как моя клиентская страница?Использование сеансов на сайте Wordpress

Этот код на странице входа:

my_session_register('user_id'); 
$_SESSION['user_id']=$user_id; 
header('Location: booking_user.php'); 

Этот код проверяет сессию в Wordpress:

if (!my_session_is_registered('user_id')) { 
    header('Location: login.php'); 
} 

Я просто не знаю, как сохранить сессию на Wordpress.

ответ

0

Вы забыли добавить session_start(), что может вызвать проблемы.

Если вы собираетесь использовать $_SESSION должно быть session_start()

Подробнее об этом: Here

0

Вы должны добавить session_start(); на каждой странице и использовать сессии или же сохранить его в файл и включить его каждый раз.

0

Хотя я отвечаю так же, как два других ответа, я скажу вам, почему. Wordpress stateless, поэтому по умолчанию вы не можете передавать данные со страницы на страницу, используя $_SESSION. Вот почему вы должны добавить session_start() на сайт Wordpress. Вы можете бросить session_start() в init крюк в Wordpress:

// You may just be able to write this 
add_action('init', 'session_start'); 

Если выше не работает (я не понимаю, почему это не так):

// You can add your own function as a wrapper 
add_action('init', 'startCustomSession'); 

function startCustomSession() 
    { 
     session_start(); 
    } 
Смежные вопросы