我的页面上有 4 个按钮,每个按钮都有自己的按钮。单击该按钮时,页面不会刷新,也不会打开新页面。
当按下按钮时,我想通过 Ajax 将该按钮的 ID 以 session 的形式发送到 php 文件。 4 个按钮中的每一个都有不同的 ID (1,2,3,4)。 如果用户单击一个按钮,然后单击第二个按钮等,我想将每个单击的按钮 ID 添加到此 session 中。
这是我到目前为止所拥有的:
Jquery:
$(document).ready(function() {
$('a[name=add]').click(function(e) {
session = $(this).attr('id')
$.post('sessions.php', {session:session}
);
});
});
因此,只需检查名称为“add”的按钮是否已被单击(所有 4 个按钮都有该名称),然后获取按钮 ID 并将其发送到session.php
PHP:
<?php
session_start();
$_SESSION['ids'] = $_POST['session'];
?>
简单地创建 session 。
我遇到的问题是 PHP session 正在获取单击的第一个按钮的 ID,仅此而已。如果单击另一个按钮,Ajax 会发布按钮 ID,但 session 仅保留单击的第一个按钮的 ID。
如何将接下来单击的按钮的 ID 添加到 session 中。
示例:如果单击按钮 1 和 3,我需要 session 具有 ID 1 和 3。
最佳答案
session_start();
// prepare $_SESSION['ids']
if ( ! is_array($_SESSION['ids']))
{
$_SESSION['ids'] = array();
}
// fill $_SESSION['ids'] only with new $_POST['session'] posted
if ( ! in_array($_POST['session'], $_SESSION['ids']))
{
$_SESSION['ids'][] = $_POST['session'];
}
关于php - 将 Session 变量从 Ajax 发送到 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14350346/