PHP身份验证仅在本地工作

PHP身份验证仅在本地工作,php,forms,login,server,local,Php,Forms,Login,Server,Local,我有一个PHP登录页面,它在本地工作得非常好,但在服务器中总是显示“无效用户名或密码”。我在两台不同的服务器上试用了它,结果是一样的 login.php 编辑 提交给我以下信息后,请尝试打印查询: 本地: select * from login where PASSWORD='test' AND USERNAME='test' 服务器: select * from login where PASSWORD='' AND USERNAME='' 使用isset($_POST['usernam

我有一个PHP登录页面,它在本地工作得非常好,但在服务器中总是显示“无效用户名或密码”。我在两台不同的服务器上试用了它,结果是一样的

login.php 编辑 提交给我以下信息后,请尝试打印查询:

本地:

select * from login where PASSWORD='test' AND USERNAME='test'
服务器:

select * from login where PASSWORD='' AND USERNAME=''
使用
isset($_POST['username'])isset($_POST['password'])
而不是
empty($_POST['username']))| empty($_POST['password'])

阅读了解
isset
empty
使用
isset($\u POST['username'])isset($\u POST['password'])
而不是
empty($\u POST['username'])empty($\u POST['password'])


阅读以了解
isset
empty

之间的区别没有上下文,但请检查以下内容:

  • 您的数据库是否包含与本地数据库相同的凭据
  • 请求的页面是否返回http状态,如200?如果是404,你的路径有问题。如果是500,则存在内部错误(设置了正确的权限?)
  • 你检查过你的日志文件了吗
  • 是否清除浏览器cookies和历史记录
  • 您是否已将完整查询(包括已填充的参数)打印到窗口中?您是否已在数据库管理工具中执行此查询?你们得到结果了吗

    • 没有上下文,但请检查以下内容:

      • 您的数据库是否包含与本地数据库相同的凭据
      • 请求的页面是否返回http状态,如200?如果是404,你的路径有问题。如果是500,则存在内部错误(设置了正确的权限?)
      • 你检查过你的日志文件了吗
      • 是否清除浏览器cookies和历史记录
      • 您是否已将完整查询(包括已填充的参数)打印到窗口中?您是否已在数据库管理工具中执行此查询?你们得到结果了吗

      手动发送查询时,在DBA工具中可以看到多少结果?启用错误检查。您可能在服务器@hellcode 1行上有不同的密码和用户名,正如所料@nomistic,我的登录表中的凭据是正确的,没有错误。这可能是一个愚蠢的问题,但它发生在我身上。您是否在本地和远程使用不同的数据库?如果是这种情况,您可能需要为数据库添加正确的用户。是的,数据库不同,但正确的用户已插入到db.php(用于连接的帮助文件)中。手动发送查询时,您在DBA工具中看到多少结果?启用错误检查。您可能在服务器@hellcode 1行上有不同的密码和用户名,正如所料@nomistic,我的登录表中的凭据是正确的,没有错误。这可能是一个愚蠢的问题,但它发生在我身上。您是否在本地和远程使用不同的数据库?如果是这种情况,您可能需要为数据库添加正确的用户。是的,数据库不同,但正确的用户已插入到db.php(用于连接的帮助文件)中。相同的凭据,页面仅显示错误,例如当提供了错误的用户名或密码且日志文件已清除时。结果是一行ID,用户名,预期密码相同的凭据,页面仅显示错误,例如当提供了错误的用户名或密码并且日志文件被清除时。结果是一行ID、用户名、预期密码
      select * from login where PASSWORD='' AND USERNAME=''