2016-05-30 7 views
0

私は特定のjoomlaサイトにログインしているかどうかを判断するためのミニPHPスクリプトを作成しました。PHPで外部* .phpファイルを呼び出す

if (!defined('_JEXEC')) 
{ 
    define('_JEXEC', 1); 
    define('JPATH_BASE', realpath(dirname(__FILE__))); 
    require_once (JPATH_BASE .'/includes/defines.php'); 
    require_once (JPATH_BASE .'/includes/framework.php'); 
} 

defined('DS') or define('DS', DIRECTORY_SEPARATOR); 
$app = JFactory::getApplication('site'); 
$user = JFactory::getUser(); 
$groups = $user->groups; 


if($user->id) 
{ 
    if (isset($groups[7]) or isset($groups[8])) 
    { 
     echo $user->username; 
    } 
    else 
    { 
     echo 'false'; 
    } 
} 
else 
{ 
    echo 'false'; 
} 

私はそれをルートフォルダにアップロードしました。 私はそれをブラウザ経由で呼び出すと、完全に動作します。私がログインしているときにユーザー名を返し、ログアウトしたときにfalseを返します。

しかし、私は別のサーバー上にある別のPHPからそれを呼び出す必要がありますか

$siteText= file_get_contents ("http://examplejoomlasite.org/miniphpscript.php"); 

しかし、それは関係なく、私がログインしています、常にfalseを返します:私はこの方法でそれを呼び出す

でる。

提案がありますか?

+0

php.iniでallow_url_fopenオプションがオフになっているため、file_get_contentsがfalseを返さないことは確かですか? –

+0

allow_url_fopenはphp.iniにあります。それがfalseを返しても問題がなければ、何も返さず、今は重要ではない –

+0

ですが、この関数はfalseを返します。 –

答えて

0

私は完全にはわかりませんが、別のコンピュータ(この場合はサーバー)から呼び出すと、その接続に対して定義されたセッションはありません(通常はCookieとして渡されます)。誰もログに記録されません)。

+0

サイトは自分のパソコンではホストされていませんが動作します。自分のコンピュータ上のローカルxamppサーバでホストされているphpファイルから呼び出すと動作しません。 –

+0

私はjoomlaにログインしているときにそれをキャッチする機会ですか? –

関連する問題