在foreach循环中设置$ _SESSION变量只接受最后一个元素

时间:2016-07-26 10:59:14

标签: php session

我有一个表,其中每一行都由foreach循环填充。每行都有一个<a href=""></a>标记,我希望根据产品重定向。我不希望将id显示为参数,因此我决定为每一行设置$_SESSION个变量。但它总是填充每个$_SESSION中的最后一行ID。我的代码:

<?php foreach ($useremails as $key => $value) {
      foreach ($value as $k => $v) {?>
<tr>
    <td class="mailbox-name"><?=$v->id;?></td>
    <td class="mailbox-name"><?=$customer->data()->Vorname;?></td>
    <td class="mailbox-name"><?=$customer->data()->Name;?></td>
    <td class="mailbox-date"><input type="hidden" name="sesmailid" value="<?=$v->id?>" /></td>
    <td class="mailbox-subject"><a href="<?php
                                     Session::put(Config::get('session/mail_id'), $v->id);
  if (isset($_GET['lang'])) {
        echo URL::clearQuery(mailbox_url()) . '?lang=' . escape($_GET['lang']);
  }else{
        echo URL::clearQuery(mailbox_url());
  }?>"><b><?=$v->Titel;?></b> - <?=substr($v->Body, 0, 40)?>...</a></td>
  <?php 
       $datefromdb = Date::extractDate($v->Datum);
       $today = date('Y-m-d');
       $date = Date::daysDifference($datefromdb, $today);


  ?>
  <td class="mailbox-date"><?=$date;?> days ago</td>

</tr>
<?php }} ?>

它总是把最后一个id。我怎么解决这个问题?

1 个答案:

答案 0 :(得分:2)

可能是因为index的{​​{1}}相同,所以每次都会覆盖它,最后它会持续session

尝试创建value session