【发布时间】:2020-09-25 10:16:23
【问题描述】:
我正在制作一个购物车,当您点击两辆车中的任何一辆时,您就会将该商品添加到购物车中。问题是当我点击宝马图片时,宝马和丰田的计数都会增加。我已经为此苦苦挣扎了 2 多天了,我无法弄清楚!
这是我的第一页。当我点击任何一张图片时,我希望它把它添加到购物车中。我想使用 session 来解决这个问题。
<?php session_start(); ?>
<?php include('navbar.php');?>
<h1>OstosKoriTori</h1>
<h3>Click the picture to add the car to your shopping cart!</h3>
<p>Toyota Chaser JZX 100</p>
<p>BMW E92</p>
<div class="autot">
<a href="add-basket.php?id=chaser"><img src="chaser.jpg" alt="Chaseri"></a>
<a href="add-basket.php?id=bmw"><img src="bmw.jpg" alt="Bemari"></a>
<br>
</div>
这是第二页,这个代码在你选择图片时运行。 我相信问题就在这里。
<?php session_start(); ?>
<?php
if(!isset($_SESSION['chaser'])){
$_SESSION['chaser'] = 0;
}
if(isset($_SESSION['chaser'])){
$_SESSION['chaser'] += 1;
}
if(!isset($_SESSION['bmw'])){
$_SESSION['bmw'] = 0;
}
if(isset($_SESSION['bmw'])){
$_SESSION['bmw'] += 1;
}
?>
<?php
header("Location: http://" . $_SERVER['HTTP_HOST']
. dirname($_SERVER['PHP_SELF']) . '/'
. "basket-session.php");
?>
这是最后一页,您可以根据点击图片的次数查看您拥有的汽车数量。
<?php session_start(); ?>
<?php include('navbar.php')?>
<h1>OstosKoriTori</h1>
<h3>Ostoskorin sisältö</h3>
<p>Toyota Chaser JZX 100</p>
<p>BMW E92</p>
<div class="kuvat">
<img src="chaser.jpg" alt="Chaseri">
<img src="bmw.jpg" alt="Bemari">
</div>
<div class="kpl">
<p><?php echo "Korissa on: <strong>" . $_SESSION['chaser'] . "</strong> kpl"; ?></p>
<p><?php echo "Korissa on: <strong>" . $_SESSION['bmw'] . "</strong> kpl"; ?></p>
</div>
<div class="clearBasket">
<a href="clear-basket.php">Tyhjennä ostoskori</a>
</div>
【问题讨论】:
-
好的,问题马上就清楚了。第一次加载页面时,会话为空,因此
chaser和bmw的值被初始化为 0。下次运行代码时,isset()将为chaser和 @987654328 返回 true @,因为虽然值为0,但它已设置,因此两个值都增加了1。 -
我该如何解决这个问题?对不起,我不太明白。我不应该使用 isset() 吗?
-
给我几分钟,我会发布答案。
标签: php session shopping-cart