Php 再次进入同一页时,会话变量不起作用

Php 再次进入同一页时,会话变量不起作用,php,session,drupal,drupal-7,Php,Session,Drupal,Drupal 7,嗨,我正试图在drupal视图中有一个“添加到购物车”链接,显示每个项目,并在单击它时将其更改为“从购物车中删除”。达到了这个目标。所选项目的ID正在会话中存储。如果我关闭视图并再次打开它,我希望我的选定项目链接从购物车中删除,但它不会发生 views-view-field--iiteneries--nid.tpl.php <?php session_start(); if (isset($_SESSION["iteneries"][$output])){ ?> <a id="

嗨,我正试图在drupal视图中有一个“添加到购物车”链接,显示每个项目,并在单击它时将其更改为“从购物车中删除”。达到了这个目标。所选项目的ID正在会话中存储。如果我关闭视图并再次打开它,我希望我的选定项目链接从购物车中删除,但它不会发生

views-view-field--iiteneries--nid.tpl.php

<?php
session_start();
if (isset($_SESSION["iteneries"][$output])){
?>
<a id="iteneries_<?php print $output; ?>" href="javascript:void(0)" class="ccc" onclick="remove_from_cart(<?php print $output; ?>,'iteneries')">Remove from cart</a>
<?php }
else{ 
?>
<a id="iteneries_<?php print $output; ?>" href="javascript:void(0)" class="ccc" onclick="add_to_cart(<?php print $output; ?>,'iteneries')">Add to cart</a>
<?php }


提前感谢您的帮助……

首先,您在Drupal中使用会话的方式不正确。据我所知,您不必包括session_start()来使用session。Drupal会自动为您做到这一点。 其次,检查您的数据是否存储在会话变量中,
只要我们
print\r($\u SESSION)
dpm($\u SESSION)
(如果您使用的是Devel模块)就可以调试会话变量。如果您没有看到您的信息存储在$\u会话变量中,那么请检查添加到购物车逻辑,您将在其中添加$\u会话变量中的值

试试这个:听起来在显示这个片段之前你已经有了一些html输出,对吗?如果是这样的话,session_start();不会工作,可能会导致上面的错误,我只是有评论,会影响它吗?我有一个drupal视图,我使用这个views-view-field--iiteries--nid.tpl.php文件来覆盖特定的field@VladPreda我是drupal的新手,实际上我已经完成了创建会话变量的所有编码工作,那么我如何使用这个模块呢?