**更新** 我让脚本工作,但我想有选择删除产品......
现在这是我的代码:
<?php
session_start();
if (!array_key_exists('products', $_SESSION) || !is_array($_SESSION['products'])) {
$_SESSION['products'] = [];
}
$productName = array_key_exists('productName', $_POST) ? (string) $_POST['productName'] : '';
if ($productName) {
$_SESSION['products'][] = $productName;
}
?>
<h4>Saved Items</h4>
<?php foreach ($_SESSION['products'] as $product): ?>
<div class="echo-product"><i style="color:#F60;padding-right:20px;" class="fa fa-anchor" aria-hidden="true"></i><?php echo htmlspecialchars($product); ?></div>
<?php endforeach;?>
<div class="btn-01"><p>Offerte aanvragen</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<script>
$(function(){ // $(document).ready shorthand
$('.btn-01').hide().fadeIn(1000);
});
</script>
好的,让我解释一下。在我的网站上,我有类似购物车的东西。客户选择一艘船,并说(对于这个例子)船型和可选项。
当他们这样做时,将会有几个选项。
访客现在可以通过点击“保存此选项”选择“保存”船只和选项。然后将此选项保存在会话中,代码为:
<?php
// Set session variables
$_SESSION["boat"][] = get_the_title();
?>
并使用此代码回应:
<?php if(isset($_SESSION['boat'])){
echo implode("<br />", array_unique($_SESSION['boat']));
} ?>
这是第一个问题:
这个代码只有在我保存第一个船选项(有3个(A,B,C))时才能正常工作,然后它说(如果我回应它)选择船A.但是当我然后保存第三艘船时说“船A,B和C”得救了。它不会跳过B船。我不知道为什么会这样。有人知道吗?以及如何解决这个问题?
好的,第二个问题。相同的代码。我怎样才能使保存的选项在div #saved-options
中可见,就像添加商品的购物车一样,如果它们也可以删除,那就太棒了。
如果我使用此代码:
<div class="col-sm-2">
<div id="saved-boats">
<h4>Saved boats</h4>
<?php if(isset($_SESSION['boat'])){
echo implode("<br />", array_unique($_SESSION['boat']));
} ?>
</div>
然后所有的船都已经救了。我可以使用以下代码销毁会话:
<div class="col-sm-2">
<div class="saved-boats">
<h4>Saved boats</h4>
<?php
// remove all session variables
session_unset();
// destroy the session
session_destroy();
?>
<?php if(isset($_SESSION['boat'])){
echo implode("<br />", array_unique($_SESSION['boat']));
} ?>
</div>
然后我就可以了,问题1但是没问题,但我仍然无法自动更新div #saved-boats
。
有没有人可以帮助我解决这些问题?提前谢谢。
答案 0 :(得分:0)
你可以这样试试......
$stuff = array(...);
$_SESSION['boat'] = array('cart_data'=> $stuff);
$stuff = $_SESSION['boat']['cart_data'];
$stuff = // do your process like push or pop.
$_SESSION['boat'] = array('cart_data'=> $stuff);
回应你的数据。
<?php foreach($_SESSION['boat']['cart_data'] as $key=>$value){
echo $value;
} ?>