Problem mit function und return

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

  • Problem mit function und return

    Hallo Forum,

    ich habe ein Problem mit einer Funktion!
    Und zwar habe ich mir ein Ip to Country Skript besorgt um den Besuchern meiner Homepage, die ich in einer MySQL Datenbank logge ein Land zuzuordnen!

    Folgende Funktion:
    PHP-Code:
    function ip2c($ip
    {
    if(isset(
    $ip)&&$ip!=''){

        
    $v=0;$f=0;$n=array();

        
    $ip=sprintf("%u",ip2long($ip));
        while(
    strlen($ip)<10){$ip='0'.$ip;}
        
    $h=opendir('.');
        while(
    $e=readdir($h)){
            
    $o=(int)$e;if(strlen($o)>5){
            
    $n[$f]=$e;$f++;}}closedir($h);
            
    sort($n);

            
    $o=count($n)-1;$d=$n[$o];
            for(
    $j=0;$j<$o;$j++){
                if(
    $ip>=$n[$j]&&$ip<$n[$j+1]){$d=$n[$j];break;}}

            
    $q=fopen($d,"r");
            while(!
    feof($q)){$r=fgets($q,32);
            
    $a=substr($r,0,9);$b=substr($r,10,19);$c=substr($r,20);
            if(
    $ip>=$a&&$ip<=$b){$v=1;break;}}}
    fclose($q);

    if(
    $v==0){}
    else{
        
    $ty=strtolower($c);
        
    $ty=str_replace("\n","",$ty);
        switch(
    $ty){
            case
    'ac':$rz='Ascension Island';break;
    ..............
    }};
    return 
    $rz;

    Aufrufen tue ich das Skript mit
    PHP-Code:
    ip2c($host); 
    Die Variable Host kommt aus dem Skript in dem ich die Funktion aufrufe.
    Allerdings funktioniert der return nicht! Ich bekomme keine Daten zurück!

    Wenn ich das Skript manuell aufrufe, also nicht innerhalb der Funktion funktionier er tadellos!

    Hat jemand einen Tipp für mich?

    Danke schon mal...
    Zuletzt geändert von baschi; 22.11.2004, 18:26.
    Gruß
    Baschi

  • #2
    Moin
    mach einfach mal
    PHP-Code:
    echo "Test: ".ip2c($host); 
    dann müsste er die Daten ausgeben, wenn die Funktion sonst funktioniert.

    Kommentar


    • #3
      Salut Baschi

      enthält Host denn eine IP oder nur einen Hostnamen ? Übergibst du der Funktion also eine IP ?

      Gib mal den $host aus

      Gruss

      tobi

      EDIT:
      Du definierst $host hoffentlich nicht nach der Funktion bzw. nach dem Aufruf der Funktion :-)
      Zuletzt geändert von jahlives; 22.11.2004, 19:01.
      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

      Kommentar


      • #4
        Re: Problem mit function und return


        Aufrufen tue ich das Skript mit
        PHP-Code:
        ip2c($host); 
        versuchs mal mit
        PHP-Code:
        $variable ip2c($host); 

        Kommentar


        • #5
          Re: Re: Problem mit function und return

          Original geschrieben von hi0b
          versuchs mal mit
          PHP-Code:
          $variable ip2c($host); 
          Ok, das was, vielen Dank!
          Gruß
          Baschi

          Kommentar

          Lädt...
          X