更新图像切换上的php会话变量
Updating php Session variable on image toggle
我正试图允许用户通过简单地单击图像来添加/删除购物车中的商品。我还希望在点击时更改图像,以显示已经购买了多少此商品。
最后,我希望购物车存在于同一页面的单独选项卡上。
到目前为止,我拥有的是:
<?php session_start(); ?>
...
...
<div style="display: block; width:1024px;">
<img id="image_id" src="image.png" width="110" height="110" style="margin-left:40px";>
<script>
$('#image_id').toggle(
function() {
$(this).attr('src','image1.png');
<?php $_SESSION['cart']['image_id'] = 1; ?>
},
function() {
$(this).attr('src','image2.png');
<?php $_SESSION['cart']['image_id'] = 2; ?>
},
function() {
$(this).attr('src','image3.png');
<?php $_SESSION['cart']['image_id'] = 3; ?>
},
function() {
$(this).attr('src','image.png');
<?php// $_SESSION['cart']['image_id'] = 0; ?>
}
);
</script>
...
...
</div>
<!-- Cart Tab -->
<div id="tab4" style="display:none; width:1024px; padding-top:40px;">
<table border="1">
<tr>
<th>Name</th>
<th>Price</th>
<th>Quantity</th>
<th>Total</th>
</tr>
<?php
if($_SESSION['cart']) {
foreach($_SESSION['cart'] as $itemname => $quantity)
{
if($quantity == 0) continue;
$price = $_SESSION['items'][$itemname];
$prod = $price*$quantity;
$_SESSION['total'] += $prod;
echo "<tr>";
echo "<td>" . $itemname . "</td>";
echo "<td>" . $price . "</td>";
echo "<td>" . $quantity . "</td>";
echo "<td>" . $prod . "</td>";
echo "</tr>";
}
echo "<tr>";
echo "<td></td>";
echo "<td></td>";
echo "<td></td>";
echo "<td>" . $_SESSION['total'] . "</td>";
echo "</tr>";
echo "</table>";
}
?>
<a href="#tab1">Continue Shopping</a>
</div>
我遇到的问题是图像更改正确(只有当我点击它并在四个不同的图像之间切换时才会更改),但当我查看购物车的内容时,它不会更改。它立即执行所有4个php语句。我知道,因为如果我移除最后的切换开关(将数量重置为0)并查看购物车,它已经显示我在点击一次之前有3件商品要购买。
如有任何帮助,我们将不胜感激。我猜我也可以将图像构建为表单输入,或者在点击时执行脚本的超链接,但我尝试了这两种方法,但都没有成功。
提前谢谢。
Javascript在浏览器中执行,php在服务器上执行,然后将页面提供给用户。
PHP代码段不是在调用javascript时执行的,而是在用户看到页面之前在服务器上执行的。
您不需要将PHP代码直接放在javascript函数中,而是需要在那里使用AJAX调用来向服务器发送请求。
也就是说,在这种特殊情况下,将购物车信息存储在cookie中可能比存储在会话中更好。
相关文章:
- PHP会话页面刷新不起作用
- 如何使用 php 会话变量作为 Angular Js 数据
- 通过Javascript更改PHP会话变量
- PHP会话ID变量与AJAX一起返回
- 从javascript变量获取php会话
- 无法获取php会话变量以在javascript中设置var
- 使用Jquery在页面加载上测试php会话变量
- 需要将一个值从javascript变量保存到php会话
- PHP会话在Aurelia中不起作用
- 更新图像切换上的php会话变量
- 如何设置从数据库到php会话的id点击链接
- php会话不会;单击“提交”按钮时无法处理表单
- 如何在Javascript中使用PHP会话变量
- 跨域php会话上传进度堆栈
- JQuery 变量到 PHP 会话
- 在 javascript 函数中添加 php 会话数据
- 将 JavaScript 变量传递给 PHP 会话
- 如何在javascript文件中访问php会话
- 从javascript中的不同形式获取值并存储在php会话中
- 有时会加载旧的 PHP 会话变量