0

我得到了一些帮助,并开始了一个会话,它在单击按钮时保存一个事件 ID(通过 wordpress 每页生成)。

看起来像这样...

<form action="/addtobasket.php" method="post">
<input type="hidden" name="event_id" value="101" />
<input type="submit" name="Add to Basket" />
</form>

并且 addtobasket.php 是...

<?php
session_start();
$_SESSION['event_orders'][] = $_POST['event_id'];
?>

现在的问题是当我添加

<?php
session_start();
foreach($_SESSION['event_orders'] AS $event_id){
echo 'Your ordered event ID is: ' .$event_id;
} ?>

在标题中(只是为了测试代码是否正常工作)它可以显示多个相同的事件 ID,具体取决于我是否多次单击它。我认为阻止这种情况的解决方案(因为我只希望用户能够在会话中保存最多 1 个事件 ID)是如果该人在其会话中保存了当前事件 ID,则显示一个删除按钮,我有点理解逻辑,只是不知道如何执行它,大意是这样的......

(如果会话有当前页面,如果)显示从会话按钮中删除 ID(不确定它的外观)(ELSE)显示标准添加 ID 按钮(结束)

这是正确的逻辑吗?如果是这样,我该如何执行?

非常感谢您的任何帮助。

4

1 回答 1

0

如果将事件 id 存储在数组的键中,可以避免重复添加。

<?php
session_start();
$_SESSION['event_orders'][ $_POST['event_id']] = true;
?>

现在的问题是当我添加

<?php
session_start();
foreach($_SESSION['event_orders'] AS $event_id => $true){
echo 'Your ordered event ID is: ' .$event_id;
} ?>
于 2012-06-21T10:58:34.633 回答