if(!isset($_SESSION))
{
session_start();
}
$userid = $row['userid'];
$_SESSION = array(
'login' => true,
'user' => array(
'username' => ['username'],
'userid' => $userid
),
'favshow' => array(
'0' => $userid
),
'fav' => array(
'0' => '1'
),
);
// $_SESSION['user']['favshow'] = array();
// Load Favorites in Session
$sql = "SELECT * FROM favorites WHERE userid =" . $userid ."";
$result2=mysqli_query($mysqli,$sql);
while($row=mysqli_fetch_array($result2)){
if($row['show']){
$_SESSION['user']['favshow'][] = $row['clubid'];
}else{
$_SESSION['user']['fav'][] = $row['clubid'];
嘿,我正在尝试初始化$ _SESSION ['user']中的'fav'和'showfav'数组,但没有成功。这是我的登录脚本的一部分,因此当用户登录表中的收藏夹时,应将其添加到其会话中。它目前说没有#fav'和'favshow'这样的索引,我不知道为什么。我的语法有什么问题吗?我尝试了一堆不同的风格,但仍然没有成功......
提前致谢
答案 0 :(得分:0)
认为您正在尝试设置一个不存在的数组元素。它存在于$ _SESSION数组中,而不是$ _SESSION [' user']数组中。
尝试这样,初始化移动: -
<?php
if(!isset($_SESSION))
{
session_start();
}
$userid = $row['userid'];
$_SESSION = array(
'login' => true,
'user' => array(
'username' => ['username'],
'userid' => $userid,
'favshow' => array('0' => $userid),
'fav' => array('0' => '1')
)
);
// $_SESSION['user']['favshow'] = array();
// Load Favorites in Session
$sql = "SELECT * FROM favorites WHERE userid =" . $userid ."";
$result2=mysqli_query($mysqli,$sql);
while($row=mysqli_fetch_array($result2))
{
if($row['show'])
{
$_SESSION['user']['favshow'][] = $row['clubid'];
}
else
{
$_SESSION['user']['fav'][] = $row['clubid'];
}
}
对于将整个会话变量用作单个数组,我也会有点小心。我倾向于在会话中添加我想要存储的任何变量/数组作为会话的下标。否则将来你会想要在$ _SESSION数组中存储其他内容,它将被这个脚本覆盖。