在Session PHP中存储多个值


Store mutiple values in Session PHP

**更新**代码现在正在工作。但现在我想让div显示保存的会话。这个div和项目在同一个页面上,被称为items。我尝试使用刷新脚本。但这行不通。

这是通过jQuery实现的吗?还是我应该使用AJAX(我还没有真正"喜欢"AJAX)。。。

Owke,让我看看我是否能尽我所能解释。。。我正在使用Wordpress作为我现在正在制作的网站,我想存储自定义点击的"喜欢"项目。

所以我所做的是在我的头中打开一个会话

<?php
    session_start();
?>

然后在需要存储"赞"的页面上,我有以下代码:

<?php
    // Set session variables
    $_SESSION["item"] = get_the_title();
?>

在我想echo的地方,我放了这个代码:

<?php
    if(isset($_SESSION['item'])){
    echo $_SESSION['item'];
    };
?>

这一切都可以正常工作,但一个页面上有多个自定义项。我想把它们都存储在我的会话中。但它一次只存储一个会话。

我需要使用大量的前缀吗,比如item-x和item-y?

我发现了这个代码:链接

但因为我使用Wordpress,我只想要标题,所以我不能用你的产品ID代替$apples、$orange和$pears。因为对我来说这只是

<?php the_title(); ?>

所以,对我来说,这是行不通的:

<?php
    // Set session variables
    $_SESSION["boot"] = array(); 
    $_SESSION["boot"][] = the_title();
?>

每次。。。如何让它发挥作用?

您每次都会覆盖item会话。你需要把它做成一个数组。

$_SESSION["item"][] = get_the_title();

现在对于echo它们,您希望消除重复,所以使用array_unique()

if(isset($_SESSION['item'])){
    echo implode("<br />", array_unique($_SESSION['item']));
}

POC:https://repl.it/Cd7l

稍微详细说明一下刚才所说的:$_SESSION[]是一个数组,与任何其他PHP数组一样,它在一个或多个"键"下存储任意值,例如"item"

像任何其他PHP数组一样,每个值都可以是一个标量,,如书名字符串或一个数字,,它本身也可以是数组。(这在概念上类似于"二维数组"。)这些数组键中的每一个都可能导致您想要存储的任何其他类型的信息:PHP数据结构可以是任意深度的,PHP会将其全部存储在您的"会话"中

现在,如果是me,我可能会在存储值时消除重复项,这样我就可以确保存储的会话信息根本不包含重复项。因此,当我echo告诉他们时,我就不必做任何特别的事情了。类似这样的东西:

$_SESSION["item"] = array_unique($_SESSION["item"]);

完全,就像我对任何其他PHP数组所做的那样。