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

Core
::only('user');

$smarty->header('Сменить пароль');

if (
filter_has_var(INPUT_POST'submit'))
{
    
$filter = [
        
'pass_old' => filter_has_var(INPUT_POST'pass_old')
            ? 
filter_input(INPUT_POST'pass_old'FILTER_UNSAFE_RAW)
            : 
null,
        
'pass_new' => filter_has_var(INPUT_POST'pass_new')
            ? 
filter_input(INPUT_POST'pass_new'FILTER_UNSAFE_RAW)
            : 
null,
        
'pass_verify' => filter_has_var(INPUT_POST'pass_verify')
            ? 
filter_input(INPUT_POST'pass_verify'FILTER_UNSAFE_RAW)
            : 
null
    
];

    if (
$db->query("SELECT `id` FROM `users` WHERE `id` = '" $user['id'] . "' AND `password` = '" $filter['pass_old'] . "'")->rowCount() == 0)
    {
        
$error 'Старый пароль введен неверно.';
    }
    elseif (
Filter::strlen($filter['pass_new']) < 6)
    { 
        
$error 'Пароль должен содержать минимум 6 символов.';
    }
    elseif (
$filter['pass_new'] == $filter['pass_old'])
    {
        
$error 'Придумайте новый пароль.';
    }
    elseif (
$filter['pass_new'] != $filter['pass_verify'])
    {
        
$error 'Пароли не совпадают.';
    }
    else 
    {            
         
$stmt $db->prepare("UPDATE `users` SET `password` = :password WHERE `id` = :id");
        
$stmt->execute([
            
':password' => $filter['pass_new'],
            
':id' => $user['id']
        ]);    
    }
}

Core::show('error');

$elements[] = [
    
'type' => 'input'
    
'title' => Lang::word('Старый пароль'), 
    
'br' => 1
    
'info' => [
        
'name' => 'pass_old',
    ]
];
$elements[] = [
    
'type' => 'input'
    
'title' => Lang::word('Новый пароль'), 
    
'br' => 1
    
'info' => [
        
'name' => 'pass_new',
    ]
];
$elements[] = [
    
'type' => 'input'
    
'title' => Lang::word('Подтверждение пароля'), 
    
'br' => 1
    
'info' => [
        
'name' => 'pass_verify',
    ]
];
$elements[] = [
    
'type' => 'submit'
    
'info' => [
        
'name' => 'submit'
        
'value' => Lang::word('Изменить')
    ]
];

$smarty->assign([
    
'method' => 'POST',
    
'action' => '?',
    
'el' => $elements
]);
$smarty->display('form.tpl');
$smarty->footer();
Онлайн: 2
Реклама