我是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使用表单并且仍然相同。 任何帮助? 感谢
答案 0 :(得分:1)
Php,因为它不是客户语言,不会工作&#34; onclick&#34;,但每次代码
<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();
}
2a)然后,用这个替换你的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页面的head部分:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>