php - 将不同的变量插入$_SESSION

标签 php mysql session

我不知道这是否可能,但我正在尝试执行以下操作:

在我的页面中,用户从我的数据库中的“组”表中获取组列表。 我想做到这一点,以便当用户单击组名称时,他将进入一个名为“group_page.php”的页面,但该页面将从表中提取相关的组信息。 我以为我可以将所选组名称插入 $_SESSION 中,然后在“group_page.php”页面中调用它,但无论我选择哪个组,它似乎都会将列表中的第一个组名称设置到 $_SESSION 中。
我可以按照下面的尝试将 $_SESSION 设置为不同的组名称吗?

  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 通常是个坏主意,并且是潜在的安全突破点。您应该尝试将其从模型直接传递到 View 。但如果你想尝试这段代码:

$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;

关于php - 将不同的变量插入$_SESSION,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25283074/

相关文章:

mysql - GROUP BY WITH HAVING ( DISTINCT ) : PHP , MYSQL

asp.net - 使用自定义成员资格提供程序时,在 ASP.NET 中推荐的用户特定持久变量存储方法是什么?

session 开始() : Session callback expects true/false return value in

php - MySQL WHERE IN 条件与 IFNULL 函数

php - 我怎样才能改进这段代码?

java - 如何将自动递增的 ID 值检索到 JLabel

php - 没有重复条目时的mysql重复条目错误(通过php批量加载)

php - 在 PHP 和 MySQL 中生成连续的发票号码(并发)

javascript - Ajax url 包含数据

php - session_unset() 是否已弃用?