php - 从我的数据库获取个人资料图片以显示在 php 页面上

标签 php mysql

所以我想制作一个登录系统,我已将个人资料图片上传到其中一个帐户,并希望将其显示在 profile.php 页面上。我认为我在这里所做的事情是正确的,但它不起作用。

下面是html+php代码:

<img src="
        <?php 
            echo htmlspecialchars($_SESSION["image"]);
        ?>
">

数据库记录的屏幕截图。

Screenshot of the profile with the image

请注意,我已在页面上方的 php 段中使用 session_start(); 启动了 session 。

控制台输出: Console

最佳答案

检查您的浏览器控制台图像的路径是否正确,如果链接损坏,则加载图像源时出错

之后,通过 var_dump 检查您的 session 是否已设置或 session 中的变量是否为空

如果您有图像,则必须对图像进行编码,如下所示:

echo '<img src="data:image/jpeg;base64,'.base64_encode($_SESSION["image"] ).'"/>';

我建议你,如果出现错误,不要使用htmlspecialchars进行开发(当你知道图像是否保存时,在你知道之后添加htmlspecialchars,然后图像显示正确使用它),看起来像那么你还没有创建 session ,用var_dump检查它,如果存在的话

编辑:

如何将数据从带有图像的数据库加载到带有索引图像的 session ?

我将首先测试 session 是否有效并在其中存储数据并加载它。 仅当 session 有效时才尝试此操作

// Start the session
session_start();

$_SESSION["image"] = "TEST"; // Add only test string
var_dump($_SESSION["image"]); // Check it
exit();

如果有效,那么您只会看到带有字符串 'TEST'string(4) 'TEST' 的白色页面,否则如果出现错误, session 不会工作

Based on the error message that the server sent does not have an 'image' index session created.

然后我会检查您是否从数据库中提取了正确的数据,然后将其保存到 session 中。如何从数据库加载数据?

关于php - 从我的数据库获取个人资料图片以显示在 php 页面上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52362459/

相关文章:

mysql&php - 无法执行存储过程两次

php - Laravel Cache (Redis) 数据改变时自动刷新

MySQL:选择每个月的最后一组记录

mysql - InnoDB什么时候超时而不是报死锁?

php - 使用 CodeIgniter 从数据库返回字符串

php - unix_timestamp 日期和时间差

php - [mysql][php] 两个表的有问题的连接结果并在 php 中进行过滤

php - 使用 Php 自定义标记

php - 当页面不存在时如何发送对 URL 的响应?

php - 按特定号码寻呼