所以我想制作一个登录系统,我已将个人资料图片上传到其中一个帐户,并希望将其显示在 profile.php 页面上。我认为我在这里所做的事情是正确的,但它不起作用。
下面是html+php代码:
<img src="
<?php
echo htmlspecialchars($_SESSION["image"]);
?>
">
数据库记录的屏幕截图。
请注意,我已在页面上方的 php 段中使用 session_start();
启动了 session 。
最佳答案
检查您的浏览器控制台图像的路径是否正确,如果链接损坏,则加载图像源时出错
之后,通过 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/