会话变量没有按我的预期工作,我做错了什么

时间:2015-05-28 12:47:57

标签: php session-variables

所以我有一个页面上有产品,当你在其中一个产品上运行作业时,它需要显示产品旁边的作业名称。

我希望基本上使用产品ID检查一个数组,看看是否有一个存在的工作。

因此,当您单击某个作业的按钮时,它将转到执行此操作的流程页面

$_SESSION['jobInfo'] = array();
$_SESSION['jobInfo'][$vAppId] = array ( name => $jobName, id => $vAppId);

然后在首页上有

if ($curActiveJobName = $_SESSION['jobInfo'][$vAppId]['name'] != ""){

    $curActiveJobName = $_SESSION['jobInfo'][$vAppId]['name'];
    $curActiveJobId = $_SESSION['jobInfo'][$vAppId]['id'];

}

然后我在我的代码中使用$ curActiveJobName和$ curActiveJobId进行显示。

现在我遇到的问题是,它似乎只是第一次工作,然后只适用于该产品。似乎当我尝试在第二个产品上运行作业时,它不会使会话变量。任何帮助都非常感谢。感谢

1 个答案:

答案 0 :(得分:1)

你还需要一个深度 -

$_SESSION['jobInfo'][$vAppId][] = array ( name => $jobName, id => $vAppId);

支票将是 -

$cur_entry = end($_SESSION['jobInfo'][$vAppId]);
if ($curActiveJobName = $cur_entry['name'] != ""){ // Add empty() check if needed

    $curActiveJobName = $cur_entry['name'];
    $curActiveJobId = $cur_entry['id'];

}