2013-09-30 22 views
0

我想在單個php頁面中實現特定的功能(例如:忘記密碼),而不是在更改密碼的每個階段重定向到另一個頁面。 例如,當用戶點擊忘記密碼鏈接時。在單個PHP頁面中實現多種功能

  1. 轉到forgot.php
  2. 發送到電子郵件/移動的鏈接。
  3. 驗證代碼。
  4. 提示用戶輸入新密碼。
  5. 更新密碼。

我想在一個php頁面中實現上述所有功能。可能嗎?如果是,如何?

+0

是的,有可能的話,看看AJAX和JavaScript。一旦你開始,這很簡單! –

+0

Thanks.But如何在步驟2後接收數據?我應該使用另一個php頁面來實現這個正確的?或者它的類似,我必須在步驟2之後啓用驗證按鈕(表單)? – ravikanth

+1

您將所有這些功能推入單個php頁面的要求令人困惑。 PHP可以分成10,000個文件或一個文件,而你(作爲用戶)永遠不會知道其中的差別。沒有任何體系結構或設計方面的變化。您可以將Facebook的所有PHP代碼合併到一個文件中,但您爲什麼要這麼做? –

回答

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. 用戶訪問忘記.php,它顯示一個窗體,提示電子郵件/帳戶名稱恢復。這個表單不應該有一個submit()按鈕,而是一個觸發JavaScript的按鈕。
  2. 當用戶單擊該按鈕時,JS代碼收集字段中的值(電子郵件/用戶名),並向提供此信息的服務器啓動AJAX請求。它也可以改變輸入區域
  3. 服務器獲取的用戶名/電子郵件,如果該帳戶存在,那麼如果該帳戶被發現返回指示JSON響應或不
  4. 客戶端發送一封電子郵件,一個「請稍候」的通知側JS代碼處理AJAX完成事件,並顯示「未找到帳戶」消息或通知用戶檢查其電子郵件並將可見元素更改爲驗證碼輸入。
  5. 用戶輸入代碼並按下另一個觸發JS調用的按鈕。
  6. JS函數發送帶驗證碼的AJAX請求。
  7. 服務器驗證碼併發送一個是/否JSON響應
  8. JS代碼處理AJAX完整的事件,如果代碼是無效或改變可見元素爲新密碼輸入
  9. 用戶通知客戶端進入新密碼,並按下一個按鈕,啓動一個JS調用
  10. JS代碼通過AJAX把新密碼發送到服務器
  11. 服務器設置新密碼,並回答了成功/失敗消息
  12. 的JS代碼處理完成AJAX調用並通知客戶端成功/失敗,將它們發送到登錄頁面。
+0

Thankyou。但是,當我隱藏表格時,空白空間就存在於隱藏表格的位置。如何擺脫這種情況? – ravikanth

+0

使用display:none;而不是可見性:隱藏; –