**更新**
代码现在正在运行。但是现在我希望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'];
};
?>
这一切都应该是这样,但是在一个页面上有一个自定义可能有的多个项目。我希望将它们全部存储在我的会话中。但它一次只能存储1个会话。
我是否需要处理多个前缀,例如item-x和item-y?
我发现了这段代码:link
但是因为我正在使用Wordpress而我只想要标题我不能用你的产品ID替换$ apples,$ oranges和$ pears。因为对我而言只是
<?php the_title(); ?>
所以这对我来说不起作用:
<?php
// Set session variables
$_SESSION["boot"] = array();
$_SESSION["boot"][] = the_title();
?>
每次......如何让它发挥作用?
答案 0 :(得分:1)
您每次都会覆盖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
答案 1 :(得分:1)
稍微详细说明刚才所说的内容:$_SESSION[]
是一个数组,与任何其他PHP数组一样,在任意一个或多个键下存储任意值,&#34;例如"item"
。
与任何其他PHP数组一样,每个值可以是单个标量,,例如book-title 字符串或单个数字, 或它本身就是一个数组。 (这在概念上类似于&#34;二维数组。&#34;)每个那些数组键可以反过来导致您希望的任何其他类型的信息store:PHP数据结构可以任意深入,PHP会将它们存储在你的&#34;会话中。&#34;
现在,如果它是 me,我可能会在存储值时消除重复项,这样我就可以确定存储的会话信息根本不包含重复项。因此,当echo
编辑它们时,我不必做任何特别的事情。像这样:
$_SESSION["item"] = array_unique($_SESSION["item"]);
... 完全,就像我对其他任何PHP数组一样。