所以我想创建一个登录系统,我已经将个人资料图片上传到其中一个帐户,并希望将其显示在profile.php页面上。我认为我在这里所做的是正确的,但这是行不通的。
这是html + php代码:
<img src="
<?php
echo htmlspecialchars($_SESSION["image"]);
?>
">
数据库记录的屏幕截图。
请注意,我已经在页面上方的php段中以session_start();
开始了会话。
答案 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'
的白页,否则,如果出现错误,则会话不起作用
基于服务器发送的错误消息没有“图像” 索引会话已创建。
然后,我将检查您是否从数据库中提取了正确的数据,然后将其保存到会话中。如何从数据库加载数据?