我正在尝试将变量传递给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页面时,它会显示“空”。我在做什么错了?
答案 0 :(得分:2)
这是因为当您打开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';
?>