在php中动态更改会话变量?

在php中动态更改会话变量?,php,Php,在发布之前,我尝试过搜索这个网站,但没有找到任何关于这个的信息。如果我错了,请原谅我。我正在做的是制作一个日历系统。每天都有适当的事件和时间,我在中有一个链接,指向另一个php页面,以获取事件的更长描述。我在函数中有一个foreach循环,在从数据库获取查询后创建日历。我将长描述行分配给会话变量,然后在description.php页面中打印它。我的问题是会话变量在循环的每次迭代中都没有改变。这样做可能吗?我希望我可以引用一个变量来显示信息,但我做错了什么。任何建议都将不胜感激 calendar

在发布之前,我尝试过搜索这个网站,但没有找到任何关于这个的信息。如果我错了,请原谅我。我正在做的是制作一个日历系统。每天都有适当的事件和时间,我在
中有一个链接,指向另一个php页面,以获取事件的更长描述。我在函数中有一个foreach循环,在从数据库获取查询后创建日历。我将长描述行分配给会话变量,然后在description.php页面中打印它。我的问题是会话变量在循环的每次迭代中都没有改变。这样做可能吗?我希望我可以引用一个变量来显示信息,但我做错了什么。任何建议都将不胜感激

calendar.php中的代码

if(isset($events[$event_day])) {
                foreach($events[$event_day] as $event) {
                    $calendar.= '<div class="event">'.$event['title'].'<br>'.$event['time'].'<br>'.$event['shortDesc'].'<br><a href="/description.php">More</a></div>';
                    $_SESSION['desc']= $event['longDesc'];
                }
            }
if(设置($events[$event\u day])){
foreach($events[$event\u day]作为$event){
$calendar.=''.$event['title'].
'.$event['time'.
'.$event['shortDesc'.]; $\会话['desc']=$event['longDesc']; } }
description.php中的代码

<?php

error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

include  ('../dbinfo.php');
session_start();

$db=mysqli_connect($dbhostname,$dbuser,$dbpass,$dbname[0]); 

print($_SESSION['desc']);
//print("<br><br>");
//print("Time:");

mysqli_close($db);//Close the DB Connection

?>

如果需要更多的代码来查看我试图完成的内容,我将编辑此帖子!是的,我在日历页上有
session\u start()
。会话正在打印,但没有针对每个不同的
事件\u日期进行更新

<?php
if (isset($events[$event_day])) {
    $_SESSION['desc'] = [];
    foreach ($events[$event_day] as $event) {
        $calendar .= '<div class="event">' . $event['title'] . '<br>' . $event['time'] . '<br>' . $event['shortDesc'] . '<br><a href="/description.php">More</a></div>';
        $_SESSION['desc'][] = $event['longDesc'];
    }
}

显然,您在for循环的每次交互中都会覆盖变量
$\u会话['desc']=$event['longDesc']
,而$\u会话是数组$\u会话['desc']不是。是否完全按照您编写的那样尝试
$\u会话['desc'][=$event['longDesc']
?当我尝试这样做时,它会导致日历无法显示。抛出
PHP致命错误:[]字符串不支持运算符
,因为您要打开一个新页面,是否有需要存储会话变量的原因?你会考虑把Evund(你可能有一个)用你的URL?EngEnIDID= ID传送到下一个页面,然后你可以执行一个查询,然后以更简单的方式打印出你想要的任何东西?找不到在同一个月内更改会话变量的方法。谢谢你的意见!