Я создал профиль, чтобы пользователи могли обновлять свою информацию.В этой форме пользователь должен иметь возможность обновлять фотографию своего профиля.Тем не менее, в данный момент, это заставляет меня обновлять изображение каждый раз, или изображение (имя) удаляется из БД.Я хотел бы настроить его там, где, если пользователь не обновляет фотографию, используется старое изображение, которое уже установлено в БД.
Код не подвергался рефакторингу .
Я попробовал несколько подходов, чтобы заставить это работать.Я пытался использовать if(isset($_FILES['profile_image']))
, я пробовал другие операторы if, но безуспешно.
Я не добавил весь код, чтобы попытаться сделать его более чистым для вас.Я прошу прощения, если я что-то пропустил.
PHP
if(isset($_POST['update_profile'])){
if(isset($_FILES['profile_image']['name'])){
$profile_image_temp = $_FILES['profile_image']['tmp_name'];
$profile_image = $_FILES['profile_image']['name'];
move_uploaded_file($profile_image_temp,
"../includes/profile_images/$profile_image");
} elseif (!isset($_FILES['profile_image']['name'])){
$query = "SELECT * FROM profiles WHERE profile_id = $profile_id";
$complete_query = mysqli_query($connection, $query);
while ($row = mysqli_fetch_array($complete_query)){
$profile_image = $row['profile_image'];
}
}
$update_profile = "UPDATE profiles SET profile_image = '{$profile_image}'
WHERE profile_id = $profile_id";
HTML
<div class="contact-clean col-md-5" style="margin:0 auto; padding-top:
50px;">
<h2 class="text-center">Update Profile</h2>
<p class="text-center"><small>Fields with an asterisk are required
</small></p>
<form method="post" action="#" enctype="multipart/form-data">
<div class="form-group">
<label for="profile_image">Profile Image * </label><input class="form-
control" type="file" name="profile_image" id="profile_image" value="<?php
echo $profile_image ?>">
</div>
<button style="margin-top: 20px; margin-bottom: 300px;"" class="btn btn-
primary btn-lg" type="submit" name="update_profile"
id="update_profile">Update Profile</button>
</form>
</div>
Ожидается: если пользователь не добавит изображение, его старое изображение все еще будет там для использования.
Фактические результаты: если пользователь не добавляет изображение во время обновления, изображение удаляется из БД.