Всплывающая страница входа в систему

#jquery #jquery-ui #zend-framework #jquery-dialog

#jquery #jquery-пользовательский интерфейс #zend-framework #jquery-диалог

Вопрос:

Я создал страницу входа в www.mywebsite.com/members/login

Я использую Zend Framework, теперь я хочу иметь возможность иметь всплывающее диалоговое окно входа, чтобы людей не приходилось перенаправлять слишком много раз для аутентификации, я предпочтительно хочу использовать для этого диалоговое окно jquery.

Я хочу, чтобы это оказывало минимальное влияние на страницу входа в систему, я имею в виду, что я не хочу перепрограммировать все это снова,

Теперь, каков наилучший способ сделать это?

Я могу придумать пару вариантов: 1- Иметь весь код на всех страницах, затем «диалогировать» его, когда это необходимо 2- Использовать Iframe в диалоговом окне jquery для отображения содержимого страницы входа

Я думаю, что 2 лучше, потому что содержимое iframe может быть ssl, а остальная часть страницы — нет, так что это хорошо

Но мне было интересно, есть ли какие-либо лучшие методы для этого или нет.

Ответ №1:

Вам необходимо создать форму входа в систему в виде «виджета» с помощью помощников действий. Вот отличный способ сделать это самим руководителем проекта Zend Framework:

http://weierophinney.net/matthew/archives/246-Using-Action-Helpers-To-Implement-Re-Usable-Widgets.html

Ответ №2:

Настройка

Поместите HTML-код входа в отдельный файл (login.html ). Обратите внимание, что у него не обязательно должны быть <html> <head> or <body> теги, просто оберните его в a <div> с идентификатором. Это должно включать все необходимые поля и кнопку отправки.

Процесс входа в систему

При нажатии на ссылку или кнопку «войти» на этом этапе появится диалоговое окно и начнется вызов ajax с использованием функции jQuery .load() для получения содержимого html в login.html и поместите его в раздел содержимого модального jQuery. Если вы выполняете какую-либо проверку формы на стороне клиента или вам нужен дополнительный css, посмотрите на $.getScript() от jQuery и (для css) просто добавьте элемент в заголовок вашей страницы с href, указывающий на ваш файл css.

Теперь, когда все загружено, клиент может отправить форму как обычно из диалогового окна. Если вы хотите, вы также можете использовать ajax для отправки формы на сервер.

Дайте мне знать, если вам нужна помощь с конкретным кодом или у вас есть вопросы об этой настройке.

Комментарии:

1. Спасибо jtfairbank, кажется, это действительно болезненный способ сделать это, хотелось бы, чтобы был более простой способ