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

时间:2018-09-17 07:08:08

标签: php mysql

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

这是html + php代码:

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

数据库记录的屏幕截图。

Screenshot of the profile with the image

请注意,我已经在页面上方的php段中以session_start();开始了会话。

控制台上的输出: Console

1 个答案:

答案 0 :(得分:2)

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

在检查之后,通过var_dump,如果您的会话已设置或会话中的变量为空

如果您有图像,则必须将图像编码为:

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

我建议您,如果出现错误,请不要使用htmlspecialchars进行开发(知道图像是否已保存,知道后添加htmlspecialchars,然后图像会正确使用它显示),好像那么您还没有创建会话,请使用var_dump检查会话是否存在

编辑:

如何将具有图像的数据库中的数据加载到具有索引图像的会话中?

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

// Start the session
session_start();

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

如果有效,则只能看到带有字符串'TEST'string(4) 'TEST'的白页,否则,如果出现错误,则会话不起作用

  

基于服务器发送的错误消息没有“图像”   索引会话已创建。

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