Идентификатор сессии постоянно меняется при переходе на другую страницу WordPress - PullRequest
0 голосов
/ 03 февраля 2020

Текущий session ID постоянно меняется при каждом запросе. У меня есть файл с именем session.php.

В нем есть код php:

<?php

session_start();

$s_id = session_id();
print_r($s_id);

?>

Каждый раз, когда я перехожу на другую страницу, это ID изменяется. Как это возможно?

Я отключил все плагины, и в моих функциях есть только это. php

<?php

function start_session() {
    if( !session_id() ) {
        session_start();
    }
}
add_action('init', 'start_session', 1);

Каждый раз, когда я перезагружаю datum.php, он показывает другой session id. На других сайтах WordPress это не так.

Ответы [ 2 ]

0 голосов
/ 03 февраля 2020

Метод запуска сеанса в WordPress описан ниже, поэтому проверьте, обновив сначала свой код

function start_session() {
    if( !session_id() ) {
        session_start();
    }
}
add_action('init', 'start_session', 1);

Кроме того, если вы хотите использовать сеанс для woocommerce, то для этого также существуют существующие сеансы, которые вы можете используйте его как

WC()->session->set( 'name_for_your_data' , $data );
WC()->session->get( 'name_for_your_data' );

Дополнительная функция и информация о классе сеанса woocommerce здесь https://docs.woocommerce.com/wc-apidocs/class-WC_Session.html

Надеюсь, это поможет вам решить проблему с сеансом

0 голосов
/ 03 февраля 2020

Сначала создайте идентификатор_сессии. Затем сохраните его в переменной сессии. В следующий раз проверьте, выходит ли значение сеанса session_id или нет. Если выход, то получите предыдущее значение идентификатора сеанса из сеанса. в противном случае создайте новый идентификатор сеанса.

После завершения ваших задач (пример выхода из системы) удалите переменную сеанса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...