我正在尝试将变量传递给 php session 变量,以便稍后可以从其他函数访问它。我可能有一个完全的方法,我不确定。我想要做的是将我的可用信息存储在某个地方,以便我可以在 session 中随时随地访问它。 这就是我现在拥有的:
$(".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 页面时,它打印“空”。我做错了什么?
最佳答案
那是因为当你打开 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';
?>
关于javascript - 将 JavaScript 传递给 Session 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52363632/