提问人: 提问时间:5/24/2021 最后编辑:RiggsFolly 更新时间:5/24/2021 访问量:96
使用会话在网页上显示存储的数据库图像?
Display stored database image on webpage using session?
问:
嗨,我正在尝试使用会话将图像存储到数据库中,并且成功完成,但问题是当我上传页面并单击保存按钮时,它无法显示在我的网页上,上一张图片再次显示,但新图片成功保存到数据库中,我想将图片存储在我的文件夹中,编码如下
Html页面编码如下
<form class="form" action="accountsetting.php" method="post" enctype="multipart/form-data">
<div class="row">
<div class="col-12 col-sm-auto mb-3">
<div class="mx-auto" style="width: 140px;">
<div class="rounded-circle avatar avatar-xl mb-3">
<img class="rounded-circle" id="preview_avatar" name="image" src="https://imgbob.com/path/cdn/avatars /zxMvnv1q52hFyNeEGKz0UuPU5fkth5YadkXe3m26S4HODj09An.png"
width="100" height="100">
</div>
</div>
</div>
<div class="col d-flex flex-column flex-sm-row justify-content-between mb-3">
<div class="text-center text-sm-left mb-2 mb-sm-0">
<h4 class="pt-sm-2 pb-1 mb-0 text-nowrap"><?php echo $_SESSION['user']['fullname']; ?></h4>
<p class="mb-0"><?php echo $_SESSION['user']['username']; ?></p>
<div class="form-group mb-2 pt-2">
<input class='input' type='hidden' name='id' value="<?php echo $_SESSION['user']['id']; ?>" />
<input id="avatar" type="file" name="avatar" hidden="" accept="image/png, image/jpeg, image/jpg">
<button id="uploadBtn" type="button" class="btn btn-primary btn-file " >
<i class="fa fa-camera" aria-hidden="true"></i>   Upload Avatar
</button>
</div>
<div class="row">
<div class="col d-flex justify-content-end pr-5">
<button class="btn btn-primary " type="submit" name="profile">Save Changes</button>
</div>
</div>
</div>
</div>
</div>
</form>
PHP编码如下
$id = "";
if(isset($_POST['profile'])) {
$id = $_SESSION['user']['id'];
$file=addslashes(file_get_contents($_FILES["avatar"]["tmp_name"]));
$query = "UPDATE users SET avatar = '$file' WHERE id = '$id'";
$query_run = mysqli_query($db,$query);
if($query_run) {
echo '<script type = "text/javascript"> alert("image profile upload")</script>';
} else {
echo '<script type = "text/javascript"> alert("image profile not upload")</script>';
}
}
来自 HTML 页面端的会话
<?php
include('../functions.php');
if (!isLoggedIn()) {
$_SESSION['msg'] = "You must log in first";
header("location: /uploadimg/loginform.php");
}
if (isset($_GET['logout'])) {
session_destroy();
unset($_SESSION['user']);
header("location: /uploadimg/loginform.php");
}
if(isset($_SESSION['success']))
{
echo $_SESSION['success'];
unset($_SESSION['success']);
}
if(isset($_SESSION['user']['fullname']))
{
}
?>
PHP 页面端的会话
<?php
session_start();
function isAdmin()
{
if (isset($_SESSION['user']) && $_SESSION['user']['user_type'] == 'admin' ) {
return true;
}else{
return false;
}
}
function isLoggedIn()
{
if (isset($_SESSION['user'])) {
return true;
}else{
return false;
}
}
答: 暂无答案
评论
addslashes()
base64_encode()
MYSQLI_
PDO