在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传送到下一个页面,然后你可以执行一个查询,然后以更简单的方式打印出你想要的任何东西?找不到在同一个月内更改会话变量的方法。谢谢你的意见!