Передача JavaScript в переменную Session - PullRequest
0 голосов
/ 17 сентября 2018

Я пытаюсь передать переменную в переменную сеанса php, чтобы я мог получить к ней доступ позже из других функций.У меня может быть полный подход, я не уверен.То, что я хочу сделать, - это хранить где-нибудь мою переменную, чтобы я мог получить к ней доступ в любое время и в любом месте сеанса.Вот что у меня сейчас:

$(".small-item-card .bookmark").click(function(e){
        e.preventDefault();
        let el_id = $(this).attr("element-id");

        $.ajax({
            type: 'post',
            url: '/session.php',
            data: {el_id: el_id},
            success:function(data) {
                console.log(data);
            }
        });

PHP - session.php

<?
session_start();

$element_id = (isset($_POST['el_id']) ? $_POST['el_id'] : "empty");

$_SESSION['element_ids'] = $element_id;

echo $_SESSION['element_ids'];

?>

Когда я открываю страницу session.php, она печатает «пусто».Что я делаю не так?

1 Ответ

0 голосов
/ 17 сентября 2018

Это потому, что когда вы открываете session.php, (isset($_POST['el_id']) ? $_POST['el_id'] : "empty"); будет работать, изменяя $_SESSION['element_ids'] на пусто .

Ваш код работает так, как и должно быть.Попробуйте вместо этого ввести $_SESSION['element_ids'] на главную страницу, и вы увидите, что она содержит правильное значение.Попробуйте что-то подобное для быстрой отладки, поместите это вверху главной страницы. И не открывается session.php:

<?php
    session_start();
    echo (isset($_SESSION['element_ids'])) ? $_SESSION['element_ids'] : 'not yet set';
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...