php Weiterleitung Problem

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

  • php Weiterleitung Problem

    Hallo, das Script funktioniert, bloss wenn man die Seite aufruft erscheint eine leere Seite. Beim 2. Aufruf erscheint "IP ist bereits vorhanden", gut.

    Aber wo kann ich einbinden, dass beim 1. Aufruf auf eine andere Seite weitergeleitet wird.

    Ich habs schon mit header versucht, aber geht nicht. Ernn ich echo einfüge, schreibt er den Text. Ich hatte alles unten vor den letzten else Befehl eingefügt. Kann einer helfen?

    <?php
    require_once("config.inc.php");
    require_once("dbconnect.php");

    /**********************************************************************
    *Klasse IPSperre *
    * Abfragen aller IP's in der Datenbank *
    * Löschen aller IP's deren Timestamp < aktueller Timestamp-3600 *
    * Schreiben der neuen IP , bevorzugt in IP = empty *
    * Wenn kein Feld frei ist , neues Feld anlegen *
    /**********************************************************************/

    class IPSperre{

    var $userIp;
    var $Data;

    /**********************************************************************/


    function IPSperre($userIp){ // Konstruktor

    $this->userIp = $userIp;
    $this->verbinde = new DatabaseConnect(MYSQL_DATABASE_NAME);
    }

    /**********************************************************************/

    function get_All_Ip(){ // alle IP's aus der Datenbank erfassen

    if($this->verbinde->connect_to_database() ){

    $query = "SELECT * FROM IP";
    $this->Data = $this->verbinde->get_MySQL_DataArray($query);
    }
    }// Methode get_All_Ip schliessen


    /**********************************************************************/

    function delete_Old_Ip(){ // IP's die schon über 1 Stunde gespeichert sind auf "empty" setzen

    $geandert = false;
    $abgelaufen = time()-IpBlockTime;

    for($i= 0; $i < $this->verbinde->rows;$i++){

    $DatumZeit = explode(" ", $this->Data[$i]['tsIP']);
    $Datum = explode("-", $DatumZeit[0]);
    $Zeit = explode(":", $DatumZeit[1]);

    $tsIP = mktime($Zeit[0],$Zeit[1],$Zeit[2],$Datum[1],$Datum[2],$Datum[0]);
    $id = $this->Data[$i]['ID'];

    if( ($tsIP - $abgelaufen < 0) &&
    $this->Data[$i]['blockedIP'] != "empty" ){

    mysql_query("UPDATE
    IP
    SET
    blockedIP='empty',
    tsIP = NOW()
    WHERE
    ID = $id");

    } // if schliessen

    } // for schliessen
    $this->get_All_Ip();
    }//Methode delete_Old_Ip schliessen

    /**********************************************************************/

    function check_User_Ip(){ // Aktuelle User IP mit denen in der Datenbank überprüfen

    $ipInField = false;

    if($this->verbinde->rows != 0){

    for($i = 0;$i < count($this->Data);$i++){


    if($this->userIp == $this->Data[$i]['blockedIP']){

    $ipInField = true;
    break;
    }
    }

    }
    return $ipInField;
    } // Methode check_User_Ip schliessen

    /**********************************************************************/

    function set_New_IP(){ // Wenn IP noch nicht vorhanden neue IP setzen

    $emptyField = false;

    for($j=0;$j<$this->verbinde->rows;$j++){

    if($this->Data[$j]['blockedIP'] == "empty"){ // leeres Feld gefunden

    $this->writeIP($this->Data[$j]['ID']); // schreibe IP in leeres Feld
    $emptyField = true;
    break;
    }
    }

    if(!$emptyField){ // es wurde kein Leeres Feld gefunden
    $this->writeIP();
    } // if emptyField schliessen

    } // Methode set_New_IP schliessen

    /**********************************************************************/

    function writeIP($Ip_ID=""){ // IP neu schreiben oder bestehendes Feld ersetzen

    if(!empty($Ip_ID)){ // leeres Feld wurde gefunden , Inhalt durch die IP ersetzen
    mysql_query("UPDATE
    IP
    SET
    blockedIP='".$this->userIp."'
    WHERE ID =".$Ip_ID);
    }else{

    mysql_query("INSERT INTO
    IP(blockedIP,tsIP)
    VALUES
    ('$this->userIp', NOW() ) ");
    }
    }// Methode writeIP schliessen

    /**********************************************************************/

    }// Klasse IpSperre schliessen

    $Ip = new IPSperre($_SERVER['REMOTE_ADDR']);
    $Ip->get_All_Ip();
    $Ip->delete_Old_Ip();
    if(!$Ip->Check_User_Ip()){
    $Ip->set_New_IP();
    }else{
    echo "IP ist bereits vorhanden";
    }

    ?>

  • #2
    Bitte benutze die PHP-Tags für deinen Code ().
    Ich habs schon mit header versucht, aber geht nicht.
    Und warum nicht?

    Peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      es geht,

      in der config.inc.php war vor dem 1. Tag ein Leerzeichen, sodass der header schon vorher ausgegeben wurde.

      Danke

      Kommentar

      Lädt...
      X