Wordpress插件未定义索引:HTTP_REFERER

时间:2017-08-21 10:04:36

标签: php wordpress

尝试激活插件时出现此错误:

  

注意:未定义的索引:HTTP_REFERER in   /home/gateway/domains/gateway.nl/public_html/wp-content/plugins/myplugin/includes/admin/admin.php   第48行

这一行是这个块:

//change upload directory
public function user_upload_files_dir($upload) {
    //check if this a user-edit page
    $current_page = basename($_SERVER['HTTP_REFERER']);
    $current_page_tmp = explode("?", $current_page);
    $current_page = $current_page_tmp[0];
    if ($current_page != "user-edit.php")
        return $upload;

我做了一些功课,但是我无法理解我的代码是错误的,还是我的浏览器拒绝给用户代理?

1 个答案:

答案 0 :(得分:1)

来自PHP文档:

  

' HTTP_REFERER'将用户代理引用到当前页面的页面地址(如果有)。这是由用户代理设置的。不是全部   用户代理将设置此,并且一些提供修改的能力   HTTP_REFERER作为一项功能。简而言之,它无法真正被信任。

在你的情况下,它显然没有被发送,所以你所能做的就是检查:

if(isset($_SERVER['HTTP_REFERER'])) {
  //do what you need to do    
   }
else
{
   //it was not sent, default action
}