Изображение удаляется, если не обновлено в форме обновления - PullRequest
0 голосов
/ 30 марта 2019

Я создал профиль, чтобы пользователи могли обновлять свою информацию.В этой форме пользователь должен иметь возможность обновлять фотографию своего профиля.Тем не менее, в данный момент, это заставляет меня обновлять изображение каждый раз, или изображение (имя) удаляется из БД.Я хотел бы настроить его там, где, если пользователь не обновляет фотографию, используется старое изображение, которое уже установлено в БД.

Код не подвергался рефакторингу .

Я попробовал несколько подходов, чтобы заставить это работать.Я пытался использовать 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>

Ожидается: если пользователь не добавит изображение, его старое изображение все еще будет там для использования.

Фактические результаты: если пользователь не добавляет изображение во время обновления, изображение удаляется из БД.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...