2017-04-21 35 views
0

我有一個用戶名的下面輸入一種形式:PHP輸入字段(用戶名),檢查是否用戶名是在活動目錄

<div class="form-group"> 
<label class="control-label col-sm-2" for="affuser">Affected User: <font color="red">*</font></label> 
<div class="col-sm-10"> 
    <input type="affuser" class="form-control" name="affuser" id="affuser" placeholder="Username" value="" required="required"> 
</div> 

現在我想,以檢查是否該用戶也在我公司的活動目錄中。因此,當用戶名寫入輸入字段並且光標離開字段時(例如),那麼應該檢查該用戶是否在AD中。如果是,則邊框應變爲綠色,否則輸入框的邊框應變爲紅色。如果有「錯誤」的輸入,該字段也不能提交。

我該如何儘可能地解決這個問題?

+0

我沒有看到任何表格,請包括所有相關的代碼。 –

+1

你應該做一些php編碼到你的mysql數據庫和一個ajax請求。除了一些html,你還沒有嘗試過任何東西。 – Nytrix

回答

1

Okaay,嬰兒的步驟。

首先,您需要檢查在AD用戶,你需要執行一個AJAX調用您的後端當光標使用JavaScript事件失控的領域,當你完整你的Ajax調用,您可以檢查由後端返回的結果,並使用JavaScript 風格功能改變你的領域邊界,那麼,你將一個事件添加到您的形式,檢查各領域,然後發送它。

由於您沒有嘗試這樣做,我只是給了您需要搜索的突出顯示的主題。

1

對不起,但你不能用PHP解決這個問題。 PHP在服務器上運行,因爲您可能想將該片段嵌入到網頁中,因此無法直接在頁面中運行PHP。你必須在AJAX中使用JavaScript來請求服務器上的PHP站點檢查用戶是否存在。

這意味着您需要網頁上的代碼,等待輸入失去焦點。使用JQuery的focusout很容易。

之後,你需要調用服務器。使用JQuery的ajax很容易。

您需要創建一個新的PHP文檔來檢查用戶是否在活動目錄中,這可以通過AJAX-Call進行調用。檢查您是否可以使用LDAP

1

通常您需要調用Active Directory提供的API。最好的辦法是使用準備好的PHP SDK來通過PHP調用它。

例如,您可以結帳adLDAP(http://adldap.sourceforge.net/)。

(最新的穩定版本可以在這裏找到:https://github.com/adldap/adLDAP/tree/v4.0.4

同時確保LDAP甚至啓用/安裝PHP。看看這篇文章:http://php.net/manual/en/ldap.installation.php

步驟:

  • 發送的用戶名(通過HTML形式或通過Ajax的建議)到Web服務器
  • 通過相應的SDK函數傳遞用戶名到LDAP API
  • 檢查由API在PHP返回的結果
  • 到瀏覽器響應取決於什麼導致了API檢查返回