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

pashkagan

Новичок
Делаю регистрацию на сайте с аватором пользователя.
//Код для формы регистрации
if($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['button-reg'])){

if (!empty($_FILES['img']['name'])){
$imgName = time() . "_" . $_FILES['img']['name'];
$fileTmpName = $_FILES['img']['tmp_name'];
$fileType = $_FILES['img']['type'];
$destination = ROOT_PATH . "\assets\images\users\\" . $imgName;

if(strpos($fileType, 'image') === false){
array_push($errMsg, "Можно загружать только изображения!");
}else {
$result = move_uploaded_file($fileTmpName, $destination);

if ($result) {
$_POST['img'] = $imgName;
}else {
array_push($errMsg, "Ошибка загрузки изображения на сервер!");
}
}

}else{
array_push($errMsg, "Ошибка получения изображения!");
}

$admin = 0; //Ставим постоянное значение, так как при регистрации пользователь не может быть админом
$login = trim($_POST['login']); //trim() используется для того, чтобы убрать все пробелы до и после
$email = trim($_POST['email']);
$firstname = trim($_POST['firstname']);
$lastname = trim($_POST['lastname']);
$password = trim($_POST['password']);
// $password = password_hash($_POST['password'], PASSWORD_DEFAULT);
$confpassword = trim($_POST['confirmpassword']);
$sex = trim($_POST['sex']);
$birthday = trim($_POST['calendar']);
$country = trim($_POST['country']);
$city = trim($_POST['city']);
$indexnumber = trim($_POST['zip']);
$img = trim($_POST['img']);

if($login === '' || $email === '' || $firstname === '' || $lastname === '' || $password === '' || $sex === '' || $birthday === '' || $country === '' || $city === '' || $indexnumber === '' || $img === '' ){
array_push($errMsg, "Не все поля заполнены!");
}elseif (mb_strlen($login, 'UTF8') < 2){
array_push($errMsg, "Логин должен быть более 2-х символов!");
}elseif ($password !== $confpassword) {
array_push($errMsg, "Пароли должны соответствовать друг другу!");
}else{
$existence = selectOne('users', ['email' => $email]);
if($existence['email'] === $email){
array_push($errMsg, "Пользователь с такой почтой уже зарегистрирован!");
}else{
$pass = password_hash($password, PASSWORD_DEFAULT); //Вставили хеширование пароля
$post =[
'admin'=> $admin,
'username'=> $login,
'email'=> $email,
'firstname'=> $firstname,
'lastname'=> $lastname,
'sex'=> $sex,
'birthday'=> $birthday,
'password'=> $pass, //изменился с $password на $pass з за хеширования переменной
'country'=> $country,
'city'=> $city,
'indexnumber'=> $indexnumber,
'img'=> $img
];
$id = insert('users', $post); //отправка на сервер в базу
$user = selectOne('users', ['id' => $id]);
userAuth($user);

}
}

}else{
$login = '';
$email = '';
$firstname = '';
$lastname = '';
$sex = '';
$birthday = '';
$country = '';
$city = '';
$indexnumber = '';
$img = '';
}


Идет при регистрации сохранение картинки в нужную папку. Затем пытаюсь вывести картинку
<a href="<?php echo BASE_URL . "personal.php"; ?>"><?php echo $_SESSION['login']; ?></a>

Но ничего не происходит. Кто знает как можно решить такую проблему?
 

Valick

Новичок
Лучше поищите готовую подходящую под ваши нужды регистрацию.
 

pashkagan

Новичок
Решил проблему таким образом. Просто вывел картинку авторизованного пользователя через SESSION
<?=BASE_URL . 'assets/images/users/' . $_SESSION['img']?>" alt="<?=$_SESSION['login']?>
 
Сверху