thinkphp5 怎么不能直接使用$_SERVER['PHP_AUTH_USER']?

使用 Request::instance()->server('PHP_AUTH_USER')得到的是空

$_server['php_auth_user']是可以使用的,但是$request没有封装这个方法,所以你可以直接调用原生php来使用它,或者你可以封装成助手函数也可以。
框架给你提供了更好的代码组织方式,但是你依然可以使用php自带的函数来处理业务逻辑,所谓无招胜有招,心中没有框架,在框架里面也可以不用框架。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-08-17

你需要先给用户一个“Authentication Required”信息,弹出一个账号密码框,用户输入后点击确认,后台才可以获取到:

<?php
  if (!isset($_SERVER['PHP_AUTH_USER'])) {
    header('WWW-Authenticate: Basic realm="My Realm"');
    header('HTTP/1.0 401 Unauthorized');
    echo 'Text to send if user hits Cancel button';
    exit;
  } else {
    echo "<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>";
    echo "<p>You entered {$_SERVER['PHP_AUTH_PW']} as your password.</p>";
  }
?>

第2个回答  2020-08-18
可以使用$_SERVER,但不要使用request对象,这两个是不一样的,thinkphp对数据进行了处理,所以在对象中就不能这样用了。
第3个回答  2020-05-23
看了下,request里好像没有这个参数

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网