我一直在努力通過PHP,MySQL,Javascript & CSS第二版羅伯特尼克松(O'Reilly 2012)。我設法在我的WAMP服務器(Zend服務器)上建立了一個數據庫。HTTP身份驗證將無法在本地主機上Zend WAMP服務器
本書將介紹如何驗證用戶名和密碼。我設法創建了幾個用戶名,其密碼已成功添加到我的數據庫中。我知道,因爲我連接到數據庫,讀取SELECT查詢的結果並回顯給瀏覽器。
當我再試試這裏的身份驗證登錄:
if (isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW'])) {....perform database query and compare username/password....}
不關我的用戶名和密碼的工作。在Firefox和IE中都會彈出'驗證必需'窗口。 PHP代碼沒有越過if語句(我試着在if語句之前和之後立即發送輸出到瀏覽器),所以似乎輸入的用戶名和密碼沒有被傳遞給PHP服務器。
我確定'localhost'是專門在Firefox上授權的,但仍然沒有成功。
任何建議將受到歡迎。
Gary
你做了什麼調試?你是否看到這兩個$ _SERVER變量中的實際值? –
只要輸入用戶名和密碼,身份驗證輸入窗口就會再次彈出。我試圖將$ _SERVER變量的值回顯給瀏覽器(緊隨if語句之後),但沒有出現任何內容。然後,我放置了一個for循環來向瀏覽器輸出一千行隨機文本,但沒有執行,所以看起來好像'if'語句讀取錯誤,然後再次顯示驗證框。所以看起來好像$ _SERVER變量不包含任何內容。 –