2013-09-30 5 views
0

Я хочу получить определенную функциональность (например: забыли пароль) на одной php-странице вместо перенаправления на другую страницу на каждом этапе смены пароля. Например, когда пользователь нажимает ссылку на забытый пароль.Достичь нескольких функций на одной странице PHP

  1. Goto forgot.php
  2. Отправить ссылку по электронной почте/мобильный телефон.
  3. Проверьте код.
  4. Запрос пользователю ввести новый пароль.
  5. Обновить пароль.

Я хочу достичь всех вышеперечисленных функций на одной странице php. Является ли это возможным? Если да, то как?

+0

Да, возможно, загляните в AJAX и JavaScript. Это довольно просто, как только вы пойдете! –

+0

Спасибо.Но как получить данные после шага2? Я должен использовать другую страницу php для достижения этой цели? Или, например, мне нужно включить кнопку подтверждения (форму) после шага 2? – ravikanth

+1

Ваше требование переместить все эти функции на одну страницу php сбивает с толку. PHP можно разделить на 10 000 файлов или один, и вы (как пользователь) никогда не узнаете разницу. Ничего не изменилось ни в архитектуре, ни в дизайне. Вы можете поместить все PHP-код Facebook в один файл, но зачем вы хотите это сделать? –

ответ

4

Да, возможно.

С помощью самого PHP вы можете это сделать.

В зависимости от параметров URL/формы вы можете изменить функциональность.

например.

<?php 
$page = isset($_REQUEST['page']) ? $_REQUEST['page'] : ''; 
switch ($page) { 
    case 'forgot_form': 
    // Your HTML and PHP here 
    break; 
    case 'prompt_change_password': 
    // Your HTML and PHP here 
    break; 
//... AND MORE 
} 
?> 
2

Для этого вам необходимо использовать AJAX. Вам нужно будет что-то сделать в этих строках:

  1. Пользователь посещает forget.php, который отображает форму, запрашивающую восстановление имени электронной почты/учетной записи. В этой форме не должна быть кнопка submit(), а кнопка, запускающая JavaScript.
  2. Когда пользователь нажимает кнопку, код JS собирает значение в поле (адрес электронной почты/имя пользователя) и запускает запрос AJAX на сервер, предоставляя эту информацию. Он также может изменить область ввода на уведомление «Подождите»
  3. Сервер получает имя пользователя/адрес электронной почты и отправляет электронное письмо, если учетная запись существует, и возвращает ответ JSON, указывающий, была ли найдена учетная запись или нет.
  4. Клиент -side JS-код обрабатывает событие AJAX complete и либо отображает сообщение «Учетная запись не найден», либо информирует пользователя о проверке их электронной почты и изменяет видимый элемент на ввод проверочного кода.
  5. Пользователь вводит код и нажимает другую кнопку, которая запускает вызов JS.
  6. Функция JS отправляет запрос AJAX с кодом подтверждения.
  7. Сервер проверяет код и отправляет да/нет ответа JSON
  8. код JS обрабатывает AJAX полного события и информирует клиент, если код неверен или изменяет видимый элемент на новый пароль вход
  9. пользователя вводит новый пароль и нажимает кнопку, которая запускает JS позвонить
  10. код JS отправляет новый пароль к серверу с помощью AJAX
  11. сервер устанавливает новый пароль и ответы с сообщением успех/провал
  12. JS код обрабатывает завершение вызова AJAX и информирует клиента s uccess/failure, отправляя их на страницу входа в систему при успешном завершении.
+0

Thankyou. Но когда я скрываю формы, пустое пространство присутствует там, где у меня есть скрытые формы. Как избавиться от этого? – ravikanth

+0

Использовать дисплей: нет; вместо видимости: скрытый; –