我是PHP新手,我使用会话变量来创建购物车,因为我需要增加购物车中的项目数量,所以我使用会话变量。但是,该变量在每次刷新/重新加载页面时保持递增,从而增加条目的数量。
<?php
session_start();
if (!isset($_SESSION['items'])){
$_SESSION['items'] = 0;
}
function increament_items(){
$_SESSION['items']++;
}
?>
在HTML中我有这个
<a id="laptop" href="index.php" onclick="<?php increament_items() ?>",title="header=[Add to cart] body=[ ] fade=[on]">
我试过使用post/get的形式,仍然是一样的。任何帮助吗?由于
Php,因为它不是客户端语言,不会工作"onclick",但每次代码
<a id="laptop" href="index.php" onclick="<?php increament_items() ?>",title="header=[Add to cart] body=[ ] fade=[on]">
加载.
所以,你可以用这样的东西来解决你的问题。
1)在php代码的末尾添加:
if($_GET['add']==1){
increament_items();
}
然后,将你的html代码替换为这个
<a id="laptop" href="nameofyourphppage.php?add=1">Add</a>
2b)或者,如果您愿意,在将jquery库(*)包含到html页面后,使用以下代码:
<script>
function openLink(url)
{$("#add").html('Loading...');
$("#add").load(url, function (responseText, textStatus, req) {
if (textStatus == "error") {
$("#add").html('An error occurred');
}
});
}
</script>
<a id="laptop" href="javascript:openLink('nameofyourphppage.php?add=1')">Add</a>
<div id="add"></div>
第二个解决方案将在用户不离开html页面的情况下运行php代码。
(*)要包含jquery库,在html页面的标题部分放入以下代码:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>