Не удается получить изображение из другого файла php для отображения в текущем файле php - PullRequest
0 голосов
/ 02 сентября 2018

Я новичок в PHP и создаю программу, в которой пользователь может добавить профиль и добавить изображение профиля. Однако, если я хочу обновить профиль пользователя, а также изменить изображение профиля, я получаю сообщение об ошибке:

Предупреждение: mysqli_query (): не удалось получить mysqli в C: \ xampp \ htdocs \ cms_aries \ admin \ includes \ admin_navigation.php в строке 27

Предупреждение: mysqli_error (): не удалось получить mysqli в C: \ xampp \ htdocs \ cms_aries \ admin \ includes \ admin_navigation.php в строке 30 Ошибка при загрузке картинки профиля

Вот код профиля .php:

<?php
    include "includes/admin_header.php";
?>

<?php

    if(isset($_SESSION['username'])){

        $username = $_SESSION['username'];

        $query = "SELECT * FROM users WHERE user_name = '{$username}' ";

        $select_user_profile_query = mysqli_query($connection, $query);

        while($row = mysqli_fetch_array($select_user_profile_query)){
            $user_name = $row['user_name'];
            $user_firstname = $row['user_firstname'];
            $user_lastname = $row['user_lastname'];
            $user_email = $row['user_email'];
            $user_image = $row['user_image'];
            $user_password = $row['user_password'];
        }
    }
?>
<?php
    if(isset($_POST['edit_user'])){

        $the_user_firstname = escape($_POST['user_firstname']);
        $the_user_lastname = escape($_POST['user_lastname']);
        $the_user_email = escape($_POST['user_email']);
        //Profile Images
        $the_user_temp_image = $_FILES['user_image']['name'];
        $the_user_image = $_FILES['user_image']['name'];

        $the_user_name = escape($_POST['user_name']);
        $the_user_password = escape($_POST['user_password']);

        move_uploaded_file($the_user_temp_image, "../images/$the_user_image");

        $query = "UPDATE users SET ";
        $query .= "user_firstname = '{$the_user_firstname}', ";
        $query .= "user_lastname = '{$the_user_lastname}', ";
        $query .= "user_email = '{$the_user_email}', ";
        $query .= "user_image = '{$the_user_image}', ";
        $query .= "user_password = '{$the_user_password}' ";
        $query .= "WHERE user_name = '{$the_user_name}' ";

        $update_user = mysqli_query($connection,$query);

        confirm($update_user);

        mysqli_close($connection);
        }
?>

А вот код admin_navigation.php, в котором я получаю сообщение об ошибке:

<?php 
                        if (isset($_SESSION['username'])) {
                            $username = $_SESSION['username'];

                            $query = "SELECT user_image FROM users WHERE user_name = '{$username}'";
                            $select_profile_picture = mysqli_query($connection, $query);

                            if (!$select_profile_picture) {
                                die('Error loading profile picture'.mysqli_error($connection));
                            }
                            while ($row = mysqli_fetch_assoc($select_profile_picture)) {
                                $profile_picture = $row['user_image'];
                            }
                        }
                     ?>

1 Ответ

0 голосов
/ 02 сентября 2018

Беспечный я. Мне просто нужно изменить $the_user_temp_image = $_FILES['user_image']['name'] на $the_user_temp_image = $_FILES['user_image]['tmp_name'], чтобы получить временные изображения. Я также пытаюсь удалить mysqli_close($connection), чтобы устранить ошибку и извлечь значения страницы, потому что я понял, что когда я закрываю соединение, PHP автоматически пропадает переменную $connection и автоматически закрывает соединение за кулисами, когда это подходит для этого.

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