【发布时间】:2016-02-26 20:06:04
【问题描述】:
我遇到了一个有趣的问题。我在一个页面上有 6 个不同的项目要出售,而不是为每个项目的 详细视图 制作 6 个不同的页面,我想使用 PHP 将所有 6 个项目链接从第一页重定向到 单个详细视图页面并根据单击的项目链接仅更新详细视图页面的图片、描述和标题
所以代码
<?php $merchandiseData = array('TITLE', 'DESCRIPTION', 'IMG_LINK');
$_SESSION['merchandise'] = $merchandiseData; ?>
<button onClick="window.location='item.html';" class="button"type="button">Add to Cart</button>
<?php $merchandiseData = array('TITLE_2', 'DESCRIPTION_2', 'LINK_2');
$_SESSION['merchandise'] = $merchandiseData; ?>
<button onClick="window.location='item.html';" class="button">Add to Cart</button>
所以基本上这段代码为 6 个不同的链接运行了 6 次,第二页只是从 $_SESSION['merchandise']; 获取数据。并在文档中回显它
<p class="item-name"><?php echo $_SESSION['merchandise'][0] ?></p>
<div class="picture" style="background-image: url(<?php echo $_SESSION['merchandise'][2] ?>)"></div>
<p class="description"><?php echo $_SESSION['merchandise'][1]; session_destroy(); ?></p>
所以我的问题是当我点击链接时 $merchandiseData 会正常工作,但是我点击的 6 个链接中的每一个总是指向相同的图像链接、标题和描述,并且它是最后一个数据数组我传递给页面上的会话。所以在我上面给出的例子中,即使我点击了第一个按钮,它仍然会输出第二个按钮的数据,我不知道为什么?
任何帮助将不胜感激!或者,如果有更简单的方法来使用 jquery 或 javascript id 爱知道!
【问题讨论】:
-
哦,甚至不知道从哪里开始 - 尝试用谷歌搜索服务器端代码和客户端代码之间的区别。不要为此任务使用会话,只需使用 GET 参数来区分产品
-
每次使用相同的变量设置会话数据时,它都会覆盖以前的数据。您最后设置的任何数据都可用于该会话变量。 $_SESSION['商品'] ='data1'; $_SESSION['商品'] = 'data2'; $_SESSION['商品'] = 'data3';如果你打印 $_SESSION['merchandise'],它总是显示 'data3'。