Вход Регистрация
Файл: page/settings/email.php
Строк: 46
<?php
$title 
'Смена E-mail';
require_once(
$_SERVER["DOCUMENT_ROOT"]."/inc/head.php");
if (isset(
$active)) {

    echo 
'<div class="title">Смена E-mail</div>';

    if (isset(
$_SESSION['email']) && isset($_SESSION['email_key'])) {

        
// Юзер может быть хитёр :)
        
$email_s->execute(array($_SESSION['email']));

        if (
$_SESSION['email'] == $user['email'] || $email_s->fetchColumn()) {

            unset(
$_SESSION['email'], $_SESSION['email_key']);

            
header('Location: /settings/email');

        } else {

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

                unset(
$_SESSION['email'], $_SESSION['email_key']);

                
header('Location: /settings/email');

            }
            elseif (isset(
$_POST['email_verify'])) {

                
$error '';

                if (empty(
$_POST['email_key'])) {
                    
$error.= 'Введите код подтверждения!<br/>';
                }
                elseif (
$_POST['email_key'] != $_SESSION['email_key']) {
                    
$error.= 'Код подтверждения неверный!<br/>';
                }
                if (
$error) {
                    echo 
'<div class="menu">'.$error.'</div>';
                } else {

                    
$stmt $connect->prepare("update `users` set `email` = ? where `id` = ?");

                    if (
$stmt->execute(array($_SESSION['email'], $user['id']))) {

                        unset(
$_SESSION['email'], $_SESSION['email_key']);

                        
header('Location: /settings/email');

                    } else {
                        echo 
'<div class="menu">Произошла ошибка!</div>';
                    }

                }

            }

            echo 
'<div class="menu">
            <form action="" method="POST">
            E-mail: '
.$_SESSION['email'].'<hr/>
            Код подтверждения:<br/><input type="text" name="email_key"><br/>
            <input type="submit" name="email_verify" value="Подтвердить E-mail"><input type="submit" name="cancel" value="Отмена">
            <div class="orange">На указанный E-mail было отправлено письмо с кодом подтверждения.</div>
            </form></div>'
;

        }

    } else {

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

            
$error '';

            
// Поиск e-mail в базе
            
$email_s->execute(array($_POST['email']));

            if (empty(
$_POST['email'])) {
                
$error.= 'Поле e-mail обязательно для заполнения!<br/>';
            }
            elseif (!
filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
                
$error.= 'Поле e-mail заполнено неверно!<br/>';
            }
            elseif (
$_POST['email'] == $user['email']) {
                
$error.= 'У вас и так этот e-mail!<br/>';
            }
            elseif (
$email_s->fetchColumn()) {
                
$error.= 'Пользователь с таким e-mail уже зарегистрирован!<br/>';
            }
            if (
$error) {
                echo 
'<div class="menu">'.$error.'</div>';
            } else {

                
$_SESSION['email'] = $_POST['email'];

                
$_SESSION['email_key'] = random_int(1111199999);

                
mailto(
                    
$_SESSION['email'],
                    
'Смена E-mail '.$sys['system']['project'],
                    
'Код подтверждения: '.$_SESSION['email_key'],
                    
$sys['system']['mail']
                );

                
header('Location: /settings/email');

            }

        }

        echo 
'<div class="menu">
        <form action="" method="POST">
        Нынешний E-mail: '
.$user['email'].'<hr/>
        Новый E-mail:<br/><input type="email" name="email"><br/>
        <input type="submit" name="submit" value="Продолжить">
        </form></div>'
;

    }

    echo 
'<div class="forlink"><a href="/settings" class="links"><img src="/img/sett.png" alt="sett">Настройки</a></div>';

} else {
    
header('Location: /');
}

require(
$_SERVER["DOCUMENT_ROOT"]."/inc/foot.php");
?>
Онлайн: 3
Реклама