Ankündigung

Einklappen
Keine Ankündigung bisher.

globale variable in Funktion nicht sichtbar

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • globale variable in Funktion nicht sichtbar

    Hallo

    Ich stehe gerade völlig auf dem Schlauch! Hab zwei Variablen definiert, innerhalb der Funktion als global deklariert und trotzdem sind die beiden nicht vorhanden bzw. leer:

    PHP-Code:
    $tbl_IPtoCountry =              'IPtoCountry';
    $tbl_geoipcountry =             'geoipcountry';

    function 
    IPtoCountry($IP,$db

        global 
    $tbl_IPtoCountry;
        global 
    $tbl_geoipcountry;
        
        
    $IP sprintf("%u",IP2Long($IP)); 

        if(
    $db == "ip2country"
    {    {
            
    $sql "SELECT name FROM {$tbl_IPtoCountry} WHERE IP_from <= {$IP} AND IP_to >= {$IP} LIMIT 1";
            
    $sql_result mysql_query($sql);
        
        
            if(
    mysql_num_rows($sql_result) == 0)
            { 
                
    $land "Unbekannt"
            }
            else
            { 
                
    $row mysql_fetch_object($sql_result); 
                
    $land $row->name;
            } 
        }
        
        if(
    $db == "MaxMind"
        {
            
    $sql "SELECT * FROM {$tbl_geoipcountry} WHERE {$IP} >= begin_ip_num AND {$IP} <= end_ip_num LIMIT 1";
            
    $sql_result mysql_query($sql);

            if(
    mysql_num_rows($sql_result) == 0)
            { 
                
    $land "Unbekannt"
            }
            else
            {
                
    $row mysql_fetch_object($sql_result);
                
    $land $row->country_name;
            }
        }
        
        return 
    $land

    Definiere ich die Variablen direktn in der Funktion, funktioniert es.
    Wo liegt der Fehler? Ich seh ihn nicht

  • #2
    Die Funktion wird nirgends aufgerufen.

    Kommentar


    • #3
      haha, da hast du natürlich recht
      Aber selbstverständlich rufe ich die Funktion auf:
      PHP-Code:
      $Country IPtoCountry($_SERVER['REMOTE_ADDR'],"MaxMind"); 

      Kommentar


      • #4
        Tja, entscheidend ist, wann Du sie aufrufst.

        Kommentar


        • #5
          Schon wieder dieses fiese global... warum man es nicht verwenden sollte, stellst du grade am eigenen Leib fest (die globalen Variablen sind unbekannt zum Zeitpunkt des Funktionsaufrufes...)

          Kommentar


          • #6
            Verflixt... hatte den Aufruf in einer includeten Datei und die Varablen erst nach dem include drin

            Danke für den Tipp nikosch!

            Kommentar

            Lädt...
            X