Php 将不同的变量插入$\u会话

Php 将不同的变量插入$\u会话,php,mysql,session,Php,Mysql,Session,我不知道这是否可能,但我正在努力做到以下几点: 在我的页面中,用户从我的数据库中的“组”表中获取组列表。 我希望这样,当用户单击组名时,他将进入一个名为“group_page.php”的页面,但该页面将从表中提取相关的组信息。 我想我可以将所选的组名插入$\u会话,然后在“group\u page.php”页面中调用它,但它似乎可以将列表中的第一个组名设置到$\u会话中,而不管我选择哪个组。 我可以在尝试以下操作时将$\u会话设置为不同的组名吗 session_start(); i

我不知道这是否可能,但我正在努力做到以下几点:

在我的页面中,用户从我的数据库中的“组”表中获取组列表。 我希望这样,当用户单击组名时,他将进入一个名为“group_page.php”的页面,但该页面将从表中提取相关的组信息。 我想我可以将所选的组名插入$\u会话,然后在“group\u page.php”页面中调用它,但它似乎可以将列表中的第一个组名设置到$\u会话中,而不管我选择哪个组。
我可以在尝试以下操作时将$\u会话设置为不同的组名吗

  session_start();
    include_once("php/connect.php");

$result = mysqli_query($conn, "
    SELECT *
    FROM groups
    INNER JOIN users_groups ON groups.id = users_groups.group_id
    INNER JOIN users ON users.id = users_groups.user_id
    WHERE users.username = '$username' AND users_groups.approved = 1;
");

while($row = mysqli_fetch_array($result)) {
    $_SESSION['name'] = $row['name'];
    echo "<a href='index.php?target=group_page'><div class='group'>";
    echo "<h3 style='padding:20% 0%;'>" . $row['name'] . "</h3>";
    echo "</div>";
}
?>
session_start();
包括_once(“php/connect.php”);
$result=mysqli\u查询($conn,“
挑选*
来自团体
在groups.id=users\u groups.group\u id上内部加入用户\u组
users.id=users\u groups.user\u id上的内部加入用户
其中users.username='$username'和users_groups.approved=1;
");
while($row=mysqli\u fetch\u数组($result)){
$\会话['name']=$row['name'];
回声“;
回显“$row['name']”;
回声“;
}
?>

将大数据插入$\u会话通常是个坏主意,是潜在的安全突破点。您应该尝试将其从模型直接传递到视图。但如果要尝试此代码:

$names = array();
while($row = mysqli_fetch_array($result)) {
    $names[] = $row['name'];
    echo "<a href='index.php?target=group_page'><div class='group'>";
    echo "<h3 style='padding:20% 0%;'>" . $row['name'] . "</h3>";
    echo "</div>";
}
$_SESSION['name'] = $names;
$names=array();
while($row=mysqli\u fetch\u数组($result)){
$names[]=$row['name'];
回声“;
回显“$row['name']”;
回声“;
}
$\会话['name']=$names;

$\u会话['name'][=$row['name']
否则,您只需覆盖
$\u会话['name']
您的
的每个迭代,同时
使用GET循环传递组名。选择是在客户端进行的。您需要将所选内容传递给服务器。在选择之前将值存储在会话中没有区别。在$\u会话['name']之后的[]之间是否应该出现某些内容$_会话['name'][此处?]=$row['name'];谢谢你的回答。我肯定我做的不对,因为我实现了你给我的代码,我从所有选项中获得了“数组”的名称。。。我遗漏了什么吗?你应该像打印每个($\u SESSION['name']as$name){echo$name;}一样打印它们,因为事实上,
$\u SESSION['name']
将是
$row['name']