Вход Регистрация
Файл: app/user/change_password.php
Строк: 11
<?php

if (!$user->isAuth()) {
    
redirect('/');
    exit;
}

$form = [
    
'value' => [
        
'old_password' => isset($_POST['old_password']) ? trim($_POST['old_password']) : null,
        
'password' => isset($_POST['password']) ? trim($_POST['password']) : null
    
],
    
'error' => [],
];

if (isset(
$_POST['submit'])) {
   

   

    if (empty(
$form['value']['old_password'])) {
        
$form['error']['old_password'] = 'Необходимо ввести текущий пароль';
    } elseif (@
count($form['error']['email']) == 0) {
        if (!
password_verify($form['value']['old_password'], $user->get()->password)) {
            
$form['error']['old_password'] = 'Пароль неверный';
        }
    }
    
    
    
    if (empty(
$form['value']['password'])) {
        
$form['error']['password'] = 'Необходимо ввести новый пароль';
    } elseif (
mb_strlen($form['value']['password']) < 8) {
        
$form['error']['password'] = 'Длина пароля не может быть меньше 8 символов';
    }

     
    
    if (
count($form['error']) == 0) {

        
$change $db->prepare('UPDATE `users` SET `password` = ? WHERE `user_id` = ?');
        
$change -> execute([password_hash($form['value']['password'], PASSWORD_DEFAULT),$user->get()->user_id]);
        
        
Notif :: message('Пароль успешно изменен','/change_password');
        exit;
    }
}

echo 
$template->render('user.change_password', [
    
'form' => $form,
]);
Онлайн: 1
Реклама