php - 将 Session 变量从 Ajax 发送到 PHP

标签 php jquery ajax session

我的页面上有 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/

相关文章:

php - 简单准备语句中的 MySQL 语法错误?

javascript - 无法弄清楚如何使用类名 cboxPhoto 获取特定 img 的 src(完整路径)

php - 如何让 ini_set ('display_errors' ) 正常工作?

jquery - jQGrid Pager_left 宽度太小,列数少

PHP 更新 MySQL 列为空

jquery改变实际的css样式

javascript - 具有散点图类别命名功能的免费 JavaScript/JQuery

javascript - 如果本地防火墙阻止所请求的 URL,ajax 请求是否会达到 ReadyState 4?

php - Ajax和Mysql一键插入2同一行

jquery - 通过 ajax 发送 FormData 对象和附加参数