2017-09-16 17 views
0

Ich arbeite mit PHP, und versuche, eine Funktion innerhalb eines Blocks von Code aufzurufen, aber ich weiß nicht, warum es den Fehler Uncaught Error: Call to undefined function GetUserIDFromUsername() verursacht, während es später definiert wird.Fataler Fehler: Aufruf zu undefinierter Funktion, PHP

Der PHP-Code

if(isset($_GET["updateRow"])){ 
 
    
 
      $_fbURL = $_GET["ajaxified"]; 
 
       
 
      if(!empty($_fbURL)){ 
 
        $url = $_fbURL; 
 
        $urlParts = explode("facebook.com/", $url); 
 
        $username = GetUserIDFromUsername($urlParts[1]); 
 

 

 

 
       function GetUserIDFromUsername($username) { 
 
        // For some reason, changing the user agent does expose the user's UID 
 
        $options = array('http' => array('user_agent' => 'some_obscure_browser')); 
 
        $context = stream_context_create($options); 
 
        $fbsite = file_get_contents('https://www.facebook.com/' . $username, false, $context); 
 

 
        // ID is exposed in some piece of JS code, so we'll just extract it 
 
        $fbIDPattern = '/\"entity_id\":\"(\d+)\"/'; 
 
        if (!preg_match($fbIDPattern, $fbsite, $matches)) { 
 
         throw new Exception('Unofficial API is broken or user not found'); 
 
        } 
 
        return $matches[1]; 
 
       } 
 

 
       echo "My Id is : "." ".$username; 
 

 
      } 
 
       
 
       
 
        
 
      
 
      }

+0

Sind Sie sicher, dass Sie genaue Daten von der ** URL ** analysieren? Achten Sie auf die Antwort. –

+0

wenn ich den gleichen Code nur die Isset-Methode zu entfernen, dann gibt es die erforderlichen Daten zurück, können Sie versuchen, dass auf einem einfachen PHP, Ihre Facebook-URL – Nadeem

Antwort

1

Erklären Sie Ihre Methode GetUserIDFromUsername ($ params), bevor sie anrufen. Sie können die Methode an den Anfang des Aufrufers verschieben.

+0

Vielen Dank, so viel, es funktioniert für mich! – Nadeem

Verwandte Themen