<?
function my_mysqli_result($res,$crow,$field)
{
    // Array definieren
    $feldname=array();
    
    // Anzahl der Zeilen/Datensätze der SQL-Abfrage ermitteln
    $num_lines = mysqli_num_rows($res);
       
    if ($num_lines < 1)
    {
        // es gibt keine Datensätze zum Anzeigen
        return false;
    }

    // alle Namen der Tabellenfelder/Tabellenspalten im Array $feldname speichern
    for ($i=0;$feldinfo=mysqli_fetch_field($res);$i++)
    {
        $feldname[$i]=$feldinfo->name;
    }

    // den Ergebniszeiger der SQL-Abfrage wieder zur ersten Tabellenspalte rücksetzen
    mysqli_field_seek($res,0);    
    
    // die gewünschte Zeile d.h. den gewünschten Datensatz suchen
    for ($i=0; $row = mysqli_fetch_row($res); $i++)
    {
        if ($i == $crow) // wenn der gewünschte Datensatz gefunden ist
        {
            // Anzahl der Spalte ermitteln
            $anz_spalten=count($row);
    
            // die gewünschte Spalte d.h. das gewünschte Tabellenfeld suchen
            for ($j=0; $j<$anz_spalten;$j++)
            {
                if ($feldname[$j] == $field) // das gewünschte Tabellenfeld ist gefunden
                {
                    // den Ergebniszeiger der SQL-Abfrage wieder zum ersten Datensatz rücksetzen
                    mysqli_data_seek($res,0);
                    
                    // die Daten im Datensatz sind in derselben Reihenfolge wie 
                    // die Namen der zuvor ermittelten Tabellenfelder. Daher kann 
                    // der Wert des gewünschten Tabellenfeldes zurückgeliefert werden
                    return $row[$j];
                }
            }
        }
    }

    // den Ergebniszeiger der SQL-Abfrage wieder zum ersten Datensatz rücksetzen
    mysqli_data_seek($res,0);
    
    // das gewünschte Tabellenfeld wurde nicht gefunden
    return false;
}

function get_mysql_data(&$my_ip)
{
   // Sicherheitsdaten inkludieren
   include("../sec/data.php");

   //Verbindung zum Datenbankserver aufbauen 
   $con=mysqli_connect("localhost",$hk_db,$hk_pw,"leiserberge_at"); 
   if (!$con)
   {
      echo ("Verbindung zu DB-Server/Datenbank kann nicht hergestellt werden: ".mysqli_connect_error()."<br>");
      return false;
   }

   mysqli_set_charset($con,"utf8");
   
   // SQL-Abfragestring festlegen
   // In der Tabell soll es nur genau einen Datensatz geben
   $sqlab="select * from phpcode12 where id=1;";

   // Datenbankabfrage starten
   $res=mysqli_query($con,$sqlab);

   if (!$res)
   {
      // Datenbankabfrage liefert kein Ergebnis
      echo("Datenbankfehler: ".mysqli_error($con)."<br>");
      return false;
   }

   $num=mysqli_num_rows($res);

   if ($num > 1)
   {
      echo("Interner Programmfehler");
      return false;
   }

   if ($num < 1)
   {
      echo("Interner Programmfehler");
      return false;
   }

   // Defaultwerte der Parametervariablen auf einen Leerstring setzen
   $my_ip = "";


   // Daten aus der mySQL-DB auf die Parametervariablen setzen
   $my_ip = my_mysqli_result($res,0,"ip");
   
   return true;
}

function set_link(&$my_link, $my_ip)
{
   switch($my_ip)
   {
      case "www.orf.at":    // Weiterleitung durch Benutzer
         $my_link="http://www.orf.at";
      break;      

      case "www.tgm.ac.at": // Weiterleitung durch Benutzer
         $my_link="http://www.tgm.ac.at";
      break;      

      case "0.0.0.0": // Linux Server derzeit nicht erreichbar
         $my_link="http://www.diewelt.de";
      break;      

      default: // automatische Weiterleitung zum DB-eingetragenen Server
         $my_link="http://".$my_ip;
      break; 
   }

   return true;
}

if (!get_mysql_data($ip))
{
   // Datenbankfehler
   return false;
}

if (!set_link($weiterleitung, $ip))
{
   // Datenbankfehler
   return false;
}
?>

<html>
<head>
<title>NO IP</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="refresh" content="0;URL=<? echo $weiterleitung; ?>">
</head>
<body>
</body>
</html>