gpt4 book ai didi

php - 使用 php 使用 session 从 sql 表中提取数据

转载 作者:可可西里 更新时间:2023-11-01 12:19:22 24 4
gpt4 key购买 nike

我正在尝试使用 session ID 唯一的 php 从我的 sql 表中提取数据,但是当我回显任何内容时,我只得到用户所在的位置!

<?php
include 'core/init.php';
$user_info = $_SESSION['user_id'];
?>
<html>....
<h1><?php echo $user_info['firstname'];?>&nbsp<?php echo $user_info['firstname'];?> </h1>

显示为:

5 5

如果我以数据库中的第五位登录!

最佳答案

你得到 5 的原因是因为这段代码:

<?php echo $user_info['firstname'];?>

是 $_SESSION['user_id'] 的值为 5。所以在赋值后 $user_info 的值为 5。现在因为 $_SESSION['user_id'] 没有设置为数组,因为你的意图似乎是.结果是 $user_info 被当作一个字符串并且 ['firstname'] 的计算结果为 [0]。如果愿意,您可以将 ID 5 更新为 54 等。您将始终获得 ID 的第一个字符。

要更正此问题,请尝试将 user_data 函数中 return 之前的最后两行更改为:

$data = mysql_fetch_assoc(mysql_query("SELECT $fields FROM `users` WHERE `user_id` = $user_id"));
$data = array_merge(array($user_id), $data);
return $data;

if (logged_in() === true) {
$user_data = user_data($_SESSION['user_id'], 'username', 'first_name', 'last_name', 'email');
$user_data = user_data($session_user_id, 'user_id', 'username', 'first_name', 'last_name', 'email');
}

到:

if (logged_in() === true) { 
$user_data = user_data($_SESSION['user_id'], 'username', 'first_name', 'last_name', 'email');
$_SESSION['user_id'] = $user_data;
}

关于php - 使用 php 使用 session 从 sql 表中提取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12962125/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com