Php 在foreach循环中使用$\u SESSON传递记录id而不使用GET

Php 在foreach循环中使用$\u SESSON传递记录id而不使用GET,php,session,foreach,Php,Session,Foreach,我试图传递一个会话变量,以便用户可以编辑某些内容,但当我使用$\u SESSION时,最后一个记录ID是设置的 我读到我应该使用 $_SESSION['property_id'] = array(); foreach($property_data->results() as $pdata) { echo '<ul>'; echo '<li>' . $pdata->prop_name . '</li>'; $prop_

我试图传递一个会话变量,以便用户可以编辑某些内容,但当我使用$\u SESSION时,最后一个记录ID是设置的

我读到我应该使用

$_SESSION['property_id'] = array();
  foreach($property_data->results() as $pdata) {
    echo '<ul>';
    echo '<li>' . $pdata->prop_name . '</li>';  
    $prop_num = $pdata->id;
    $calendar_record = DB::getInstance()->singleCalendar('reservations', array('user_id', '=', $user_id, 'property_id', '=', $prop_num));
    $_SESSION['property_id'][] = $prop_num;
    if($calendar_record->count()) {
        echo '<li><a href="calendar-details.php">EDIT BOOKINGS</a>';
    } else {
        echo '<li><a href="calendar-add.php">CREATE FIRST BOOKING</a>';         
    }

    echo '</ul>';               
};
$\u会话['property\u id']=array();
foreach($property_data->results()作为$pdata){
回声“
    ”; 回显“
  • ”。$pdata->prop_name.
  • ”; $prop_num=$pdata->id; $calendar\u record=DB::getInstance()->singleCalendar('reservations',array('user\u id','=','user\u id','property\u id','=','prop\u num)); $\会话['property\u id'][]=$prop\u num; 如果($calendar\u record->count()){ 回音“
  • ”; }否则{ 回音“
  • ”; } 回声“
”; };
我做了,我在下一页有一个_SESSION变量作为数组,但我不明白的是,我如何知道我在找哪一个,他们实际点击了哪一个

所以我想做的是传递一个会话变量,但在循环遍历多个记录时将其设置为正确的值,并在下一页提供该变量


谢谢

我很想帮忙,但我不知道你到底想做什么。你能澄清一下吗?为什么你不能用GET?如果您可以这样使用:“?id=$yourid”我想隐藏正在传递的变量,这将使您的生活更轻松。我不希望这个人能够看到我的GET变量$_会话是完美的,除了在循环中,如果不创建数组,则会得到覆盖会话的最后一条记录。我希望访问者能够访问calendar-details.php,而不必拥有calendar-details.php?property_id=6因为如果GET变量可见,他们可以更改它。我阻止他们做了很多事情,我不需要也阻止他们更改GET变量,因为我可以使用我已经为他们的用户做的会话变量,你可以加密id并通过GET发送。您需要一些标识符,因为如果编写了php/html,则在用户单击之前,您没有机会知道用户想要单击什么。