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

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

$form = [
    
'value' => [
        
'email' => isset($_POST['email']) ? mb_strtolower(trim($_POST['email'])) : null,
         
'captcha' => isset($_POST['captcha']) ? mb_strtolower(trim($_POST['captcha'])) : null
    
],
    
'error' => [],
];

if (isset(
$_POST['submit'])) {
    
$stmt $db->prepare("SELECT user_id, email FROM users WHERE email = :email");
    
$stmt->bindParam(':email'$form['value']['email'], PDO::PARAM_STR);
    
$stmt->execute();

    
$result $stmt->fetch(PDO::FETCH_OBJ);

    if (empty(
$form['value']['email'])) {
        
$form['error']['email'] = 'Необходимо ввести E-Mail';
    } elseif (!
filter_var($form['value']['email'], FILTER_VALIDATE_EMAIL)) {
        
$form['error']['email'] = 'Введите корректный E-Mail';
    } elseif (@
$result->email !== $form['value']['email']) {
        
$form['error']['email'] = 'Пользователь с таким E-Mail не найден';
    }

   

      if (empty(
$form['value']['captcha'])) {
        
$form['error']['captcha'] = 'Необходимо ввести код с картинки';
    } elseif (
$form['value']['captcha'] !== @$_SESSION['captcha']) {
        
$form['error']['captcha'] = 'Неверно введен код с картинки';
    }

    
    

    unset(
$_SESSION['captcha']);
    
    if (
count($form['error']) == 0) {
        
$user_id $result->user_id;
        
$password random_string(10);
        
$password_hash password_hash($passwordPASSWORD_DEFAULT);
        
$sql $db->prepare('UPDATE `users` SET `password` = ? WHERE `user_id` = ?');
        
$sql -> execute([$password_hash,$user_id]);
    
$from = array(
    
"Robot USPAY.RU"// Имя отправителя
    
"robot@uspay.ru" // почта отправителя
);
    
 
$mail $template->render('email.repassword', [
    
'email' => $result->email,'password'    =>    $password
]);
    
    
$mailSMTP->send($result->email'Восстановление забытого пароля'$mail$from); 

 
        

        
Notif :: message('Новый пароль успешно сгенерирован и отправлен на ваш E-Mail','/sign-in');
        exit;
    }
}

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