【发布时间】:2012-12-04 21:57:29
【问题描述】:
我一直在研究 Robert Nixon 的 PHP、MySQL、Javascript 和 CSS 第 2 版(O'Reilly 2012)。我已经设法在我的 WAMP 服务器(Zend 服务器)上建立了一个数据库。
这本书随后展示了如何验证用户名和密码。我设法创建了一些带有密码的用户名,这些用户名已成功添加到我的数据库中。我知道,因为我连接到了数据库,读取了 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 上得到了专门授权,但仍然没有成功。
欢迎提出任何建议。
加里
【问题讨论】:
-
你做了什么调试?你看到这两个 $_SERVER 变量中的实际内容了吗?
-
输入用户名和密码后,再次弹出验证输入窗口。我试图将 $_SERVER 变量的值回显到浏览器(在 if 语句之后),但什么也没出现。然后,我放置了一个 for 循环,将一千行随机文本输出到浏览器,但没有执行,所以似乎“if”语句读取为 false,并且再次显示身份验证框。所以看起来 $_SERVER 变量不包含任何内容。
标签: php http localhost http-authentication zend-server