Как сделать так чтобы авторизация и регистрация срабатывала на всех страницах?

350
29 июня 2017, 04:22

Помогите разобраться с такой темой ,на сайт в шапку добавил модальное окно для авторизации и регистрации, но авторизация срабатывает только на страницах:

мойсайт.ru/user/login мойсайт.ru/user/register

Как сделать чтоб она срабатывала на всех страницах сайта из модального окна?

Ссылка на сайт: ylino.ru (без модального окна)

буду благодарен за помощь

КОД МОЕГО МОДУЛЬНОГО ОКНА:

<?php
        /**
         * Авторизация
         * @var $this Users
         */
        ?>
        <div class="cd-user-modal"> <!-- this is the entire modal form, including the background -->
        <div class="cd-user-modal-container"> <!-- this is the container wrapper -->
            <ul class="cd-switcher">
                <li><a href="#signin">Авторизация</a></li>
                <li><a href="#signup">Регистрация</a></li>
            </ul>
            <div id="cd-login"> <!-- log in form -->
                <form id="j-u-login-form" action="" class="cd-form">
                <input type="hidden" name="back" value="<?= HTML::escape($back) ?>" />
                    <p class="fieldset">
                        <label class="image-replace cd-email" for="j-u-login-email"><?= _t('users', 'Электронная почта') ?></label>
                        <input type="email" name="email" id="j-u-login-email" class="full-width has-padding has-border" placeholder="<?= _t('users', 'Введите ваш email') ?>" autocorrect="off" autocapitalize="off">
                        <span class="cd-error-message">Ошибка, укажите вашу почту!</span>
                    </p>
                    <p class="fieldset">
                        <label class="image-replace cd-password" for="j-u-login-pass"><?= _t('users', 'Пароль') ?></label>
                        <input type="password" name="pass" id="j-u-login-pass" class="full-width has-padding has-border" placeholder="<?= _t('users', 'Введите ваш пароль') ?>">
                        <a href="#0" class="hide-password">Показать</a>
                        <span class="cd-error-message">Ошибка, укажите ваш пароль!</span>
                    </p>
                    <p class="fieldset">
                        <input type="checkbox" name="remember" id="remember-me" autocomplete="on" checked>
                        <label for="remember-me"><?= _t('users', 'Запомните меня'); ?></label>
                    </p>
                    <p class="fieldset">
                        <button type="submit" class="full-width j-submit"><?= _t('users', 'Войти на сайт') ?></button>
                    </p>
                </form>
                <p class="cd-form-bottom-message"><a href="#0">Забыли пароль?</a></p>
                <a href="#0" class="cd-close-form">Закрыть</a>
            </div> <!-- cd-login -->
            <div id="cd-signup"> <!-- sign up form -->
                <form id="j-u-register-form" action="" class="cd-form">
                <input type="hidden" name="back" value="<?= HTML::escape($back) ?>" />
                    <!-- <p class="fieldset">
                        <label class="image-replace cd-username" for="signup-username">Имя полизователя</label>
                        <input class="full-width has-padding has-border" id="signup-username" type="text" placeholder="Придумайте имя">
                        <span class="cd-error-message">Error message here!</span>
                    </p> -->
                    <? if($phone_on) { ?>
                    <p class="fieldset">
                        <label class="image-replace cd-phone" for="j-u-register-phone signup-phone"><?= _t('users', 'Телефон') ?></label>
                        <div class="controls form-control-phone">
                            <?= $this->registerPhoneInput(array('id'=>'j-u-register-phone','name'=>'phone')) ?>
                        </div>
                    </p>
                    <? } ?>
                    <p class="fieldset">
                        <label class="image-replace cd-email" for="j-u-register-email">E-mail</label>
                        <input type="email" name="email" class="full-width has-padding has-border j-required" id="j-u-register-email" autocomplete="off" placeholder="<?= _t('users', 'Введите ваш email') ?>" maxlength="100" autocorrect="off" autocapitalize="off">
                        <span class="cd-error-message">Ошибка, вы забыли указать вашу эл. почту!</span>
                    </p>
                    <p class="fieldset">
                        <label class="image-replace cd-password" for="j-u-register-pass">Пароль</label>
                        <input type="password" name="pass" class="full-width has-padding has-border j-required" id="j-u-register-pass" autocomplete="off" placeholder="<?= _t('users', 'Придумайте пароль') ?>" maxlength="100">
                        <a href="#0" class="hide-password">Показать</a>
                        <span class="cd-error-message">Ошибка, вы забыли указать пароль!</span>
                    </p>
                    <p class="fieldset">
                        <input type="checkbox" name="agreement" id="j-u-register-agreement" autocomplete="on">
                        <label for="accept-terms"><?= _t('users', 'Я соглашаюсь с <a href="[link_agreement]" target="_blank">правилами использования сервиса.</a>', array('link_agreement'=>Users::url('agreement'))) ?></label>
                    </p>
                    <p class="fieldset">
                        <button class="full-width has-padding j-submit" type="submit"><?= _t('users', 'Создать профиль') ?></button>
                    </p>
                </form>
                <a href="#0" class="cd-close-form">Закрыть</a>
            </div> <!-- cd-signup -->
            <div id="cd-reset-password"> <!-- reset password form -->
                <p class="cd-form-message">Забыли пароль? Пожалуйста, введите Ваш адрес электронной почты. Вы получите ссылку для создания нового пароля.</p>
                <form class="cd-form">
                    <p class="fieldset">
                        <label class="image-replace cd-email" for="reset-email">E-mail</label>
                        <input class="full-width has-padding has-border" id="reset-email" type="email" placeholder="Укажите ваш адрес эл. почты">
                        <span class="cd-error-message">Ошибка, укажите эл.почту</span>
                    </p>
                    <p class="fieldset">
                        <button class="full-width has-padding" type="submit" value="Восстановить"></button>
                    </p>
                </form>
                <p class="cd-form-bottom-message"><a href="javascript:void(0);">Вернутся к авторизации</a></p>
            </div> <!-- cd-reset-password -->
            <a href="javascript:void(0);" class="cd-close-form">Закрыть</a>
        </div> <!-- cd-user-modal-container -->
    </div> <!-- cd-user-modal -->

код обработчика https://gist.github.com/baytalov/521e7b56c60dcd3da199d028b9b029cc

ДЕМО МОДУЛЬНОГО ОКНА КОТОРЫЕ Я ВНЕДРИЛ

Answer 1

У вас в модальном окне в action отсутствует путь до обработчика, поэтому данные из формы отправляются на ту страницу, на которой пользователь находится.

READ ALSO
Yii2, исключить значения из запроса к БД

Yii2, исключить значения из запроса к БД

Как в Yii2 исключить значения из запроса к БД Например:

264
Вывод echo по таймеру

Вывод echo по таймеру

Как можно реализовать вывод echo через некоторое время на сайте? Допустим один сразу, а второй через 5 секПытался сделать кодом ниже, но браузер...

250
amoCRM API прибавляет 3 часа к last_modified

amoCRM API прибавляет 3 часа к last_modified

Заметил такое поведение вебхука в amoCRMСам вебхук настроен на изменение сделки

299
Как правильно сформировать и выгрузить Excel Отчет на PHP (Библиотека PHPExcel)

Как правильно сформировать и выгрузить Excel Отчет на PHP (Библиотека PHPExcel)

Доброго времени суток, интересует решение проблемы с помощью библиотеки ExcelPHPС помощью скрипта ниже в Excel файл выгружается нужная информация...

345