2016-05-30 26 views
0

Ich schrieb ein Mini-PHP-Skript, um festzustellen, ob ich in einer bestimmten Joomla-Site eingeloggt bin.Aufruf externer * .php Datei in 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'; 
} 

Ich habe es in den Stammordner hochgeladen. Wenn ich es über den Browser anrufe funktioniert es perfekt. Es gibt den Benutzernamen zurück, wenn ich eingeloggt bin, und gibt false zurück, wenn ich ausgeloggt bin.

Aber ich brauche es von einem anderen PHP zu nennen, die auf einem anderen Server ist:

Ich nenne es auf diese Weise:

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

Aber es ist immer false zurück, und zwar unabhängig bin in i angemeldet oder aus.

irgendwelche Vorschläge?

+0

Sind Sie sicher, dass file_get_contents nicht false zurückgibt, weil die Option allow_url_fopen in der php.ini ausgeschaltet ist? –

+0

allow_url_fopen ist in php.ini aktiviert. Wenn das das Problem ist, würde es false zurückgeben, es würde nichts –

+0

nicht wichtig jetzt zurückgeben, aber die Funktion würde false zurückgeben. –

Antwort

0

Ich bin mir nicht ganz sicher, aber wenn Sie es von einem anderen Computer (Server in diesem Fall) aufrufen, ist für diese Verbindung keine Sitzung definiert (normalerweise als Cookie übergeben), also startet php eine neue (mit niemand hat geloggt).

+0

die Seite ist nicht auf meinem PC gehostet, aber es funktioniert. es funktioniert nur nicht, wenn ich es aus dieser php-datei herausrufe, die auf einem lokalen xampp-server auf meinem computer gehostet wird. –

+0

Gibt es eine Chance, es zu fangen, wenn ich bei Joomla eingeloggt bin? –