如何声明PHP会话变量具有相同的名称是一个单页点击



我正在创建一个网络商店。我正在使用PHP会话导航到下一页。

程序应该做的是:当我点击一个特定的图像时,那么会话变量应该根据点击的图像相应地分配,但问题是所有的会话变量都没有点击。

这是我的代码:

<div class="col-sm-3 col-xs-6"  style="text-align:center">
<a href="list.php"    onclick="<?php $_SESSION['x'] = 'clothing'; $_SESSION['v1'] = 'shirts';?>" ><img class="img-responsive  img-circle " src="image/0.jpg" />Clothing</a>
</div>
<div class="col-sm-3 col-xs-6" style="text-align:center" >
<a href="list.php"   onclick=" <?php $_SESSION['v1'] = 'mobiles'; ?>" ><img class="img-responsive img-circle " src="image/5.jpg"  />mobiles</a>
</div>

所以没有点击,移动会话变量被分配给"移动",因为它是最后声明的…

PHP代码在该页面发送到浏览器之前执行。所以你的代码在浏览器上看起来是这样的:

<div class="col-sm-3 col-xs-6"  style="text-align:center">
    <a href="list.php"    onclick="" ><img class="img-responsive  img-circle " src="image/0.jpg" />Clothing</a>
</div>
<div class="col-sm-3 col-xs-6" style="text-align:center" >
    <a href="list.php"   onclick="" ><img class="img-responsive img-circle " src="image/5.jpg"  />mobiles</a>
</div>

和会话变量设置,就像你说的。

你不能在html中设置php变量(或执行任何其他php代码)。你能做的是:如果用户点击图片,向服务器发送一个请求,然后服务器按照你想要的方式设置会话变量。

我想实现你想要做的最简单的方法是通过在链接中添加参数:

<div class="col-sm-3 col-xs-6"  style="text-align:center">
    <a href="list.php?x=clothing"><img class="img-responsive  img-circle " src="image/0.jpg" />Clothing</a>
</div>
<div class="col-sm-3 col-xs-6" style="text-align:center" >
    <a href="list.php?v1=mobiles"><img class="img-responsive img-circle " src="image/5.jpg"  />mobiles</a>
</div>

在您的list.php中,您可以通过$_GET变量获得所有参数。

编辑:只是为了明确,我建议的解决方案不发送请求到服务器只是设置会话变量,而是提供信息到list.php,它可以用来设置会话变量

相关内容

最新更新