Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Facebook在共享对话框中显示我的登录页面,而不是当前页面标题和url_Php_Html_Facebook_Codeigniter - Fatal编程技术网

Php Facebook在共享对话框中显示我的登录页面,而不是当前页面标题和url

Php Facebook在共享对话框中显示我的登录页面,而不是当前页面标题和url,php,html,facebook,codeigniter,Php,Html,Facebook,Codeigniter,我正试图在我的应用程序中集成Facebook共享功能,但每当我点击共享按钮时,Facebook就会从头部调出元数据,而不是显示当前标题和URL,它会返回我的登录页面URL和登录页面标题,我已经尝试过了 但是根据Facebook的说法,这个按钮被替换为共享按钮 下面的代码包含在我的应用程序的每个页面中 <meta property="og:title" content="<?php echo $title ?>"/> <meta property="og:type"

我正试图在我的应用程序中集成Facebook共享功能,但每当我点击共享按钮时,Facebook就会从头部调出元数据,而不是显示当前标题和URL,它会返回我的登录页面URL和登录页面标题,我已经尝试过了

但是根据Facebook的说法,这个按钮被替换为共享按钮

下面的代码包含在我的应用程序的每个页面中

<meta property="og:title" content="<?php echo $title ?>"/>
<meta property="og:type" content="Type of content"/>
<meta property="og:url" content="<?php echo current_url() ; ?>"/>
<meta property="og:site_name" content="My site name"/>
<meta property="og:description" content="<?php echo $description ; ?>"/>

好吧,我想这和Facebook刮板有关。如文件中所述

在某些情况下,您可能希望为用户提供不同版本的页面 我们的scraper包含的开放图元数据比您的要多 正在查看页面的用户。在这种情况下,您可以针对 刮板使用的浏览器代理:

facebookexternalhit/1.1+

因此,我认为在您网站的php文件中,您可以检查刮板,如下所示:

    if (strstr( $_SERVER['HTTP_USER_AGENT'], 'facebookexternalhit') {
       // Show more open graph metadata here
    } else {
       // Your login page
    }

要使scraper缓存您的数据,请使用。

您是否尝试过此操作:是的,我尝试过此操作,但仍会拉入我的登录页。我尝试过在标题中包含您的代码,但仍会显示我的登录页如何将用户重定向到您的登录页?你用php检查他们的凭证吗?是的,我用php检查他们。。用户除非先登录,否则无法查看内容。因此,基本上,由于facebook与您的凭据检查器不匹配,它会收到登录页面。因此,在您的凭证检查器中,如果用户代理是facebook的scraper,请允许它查看一些内容。