Seite 1 von 4 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 38

Thema: PHP Logging

  1. #1
    Liebe (Amor) Avatar von Cyber Tjak
    Registriert seit
    16.03.2010
    Beiträge
    231

    Standard PHP Logging

    Also Ich habe ein kleines PHP-Script gefunden, welches IP; Host; Port; Timestep speichert.
    Nun würde ich das Script gerne erweitern, so dass es OS, UserAgent & Refferer logt.
    Da Ich ein absoluter PHP-Anfänger bin, habeIch nun gut 30 Minuten mit dem Editor und Google.de verbracht. Leider bisher ohne Erfolg.
    Könnt Ihr mir helfen?
    Hier ist das Script:
    Code:
    <html>
    <head>
    </head>
    <body>
    <?php
    
    $opfertext = "Error";  
    $txt = "Log.txt";       
    $h = 1;                
    $p = 1;                
    $t = 1;                
    $d = 1;                
    $test = 0;             
                           
    
    $ip = $_SERVER['REMOTE_ADDR'];
    $host = gethostbyaddr($_SERVER["REMOTE_ADDR"]);
    $port = $_SERVER["REMOTE_PORT"];
    $time = date("h:i:s A");
    $date = date("d.m.Y");
    
    $textip = "IP Logging: ".$ip." - ";
    if($h==1){$texthost=$host." - ";}
    if($p==1){$textport=$port." - ";}
    if($t==1){$texttime=$time." - ";}
    if($d==1){$textdate=$date;}
    
    $text = $textip.$texthost.$textport.$texttime.$textdate."\n";
    
    if($test==1){
    print "<br>Output test enabled:<br><br>".$text."<br><br>";}
    
    if($test==0){
    $datei = fopen($txt, "a");
    fwrite($datei, $text);
    fclose($datei);
    print $opfertext;}
    
    ?>
    </body>
    </html>
    Hier ein paar Hilfe-Zeilen, die ich per Google ausfindig machen konnte:


    Also Eure "Aufgabe" besteht darin, die unteren Code-Schnipsel in das obere so einzubinden, dass nur der Text "Error" ausgespuckt wird und die Daten in die Datei "Log.txt" gespeichert werden.

    Mir freundlichen Grüßen
    Tjak


    Ich bin der Stoff aus dem die Traeume sind.

    &


  2. #2
    Stanley Jobson Avatar von Shini
    Registriert seit
    25.08.2008
    Beiträge
    667

    Standard

    Zitat Zitat von Tjak Beitrag anzeigen
    Also Eure "Aufgabe" besteht darin, die unteren Code-Schnipsel in das obere so einzubinden, dass nur der Text "Error" ausgespuckt wird und die Daten in die Datei "Log.txt" gespeichert werden.

    Mir freundlichen Grüßen
    Tjak
    also deine aufgabe besteht darin, php zu lernen und das ganze selbst zu machen


    Mit freundlichen Grüßen
    Shini

  3. #3
    Richard Stallman
    Registriert seit
    09.07.2008
    Beiträge
    2.199

    Standard

    Hier programmiert niemand für dich..
    PHP: $_SERVER - Manual

    OS steckt im Useragent, steht ALLES dort!

    Ausgabe: echo

    Tutorial für Textdateien: PHP +++8211; Arbeiten mit Textdateien +++8211; PHP - Onlinemagazin devmag.net
    Für nicht dumme: http://www.php.net/manual/de/ref.filesystem.php
    Signatur hat Pause..


  4. #4
    Liebe (Amor) Avatar von Cyber Tjak
    Registriert seit
    16.03.2010
    Beiträge
    231

    Standard

    OK, dann bitte niemand programmieren sondern mir "nur" helfen.
    Die Zeilen:
    $opfertext = "Error";
    $txt = "Log.txt";
    $h = 1;
    $p = 1;
    $t = 1;
    $d = 1;
    $test = 0;


    $ip = $_SERVER['REMOTE_ADDR'];
    $host = gethostbyaddr($_SERVER["REMOTE_ADDR"]);
    $port = $_SERVER["REMOTE_PORT"];
    $time = date("h:i:s A");
    $date = date("d.m.Y");

    $textip = "IP Logging: ".$ip." - ";
    if($h==1){$texthost=$host." - ";}
    if($p==1){$textport=$port." - ";}
    if($t==1){$texttime=$time." - ";}
    if($d==1){$textdate=$date;}

    $text = $textip.$texthost.$textport.$texttime.$textdate."\ n";
    verstehe Ich ja, jedoch verstehe Ich nicht, wie man das erweitern soll.
    In der Zwischenzeit habe ich etwas weiter versucht und verstanden, wie es formatiert ist.
    Mit dem Referrer eingebaut sollte der Code ja nun so aussehen:
    <html>
    <head>
    </head>
    <body>
    <?php

    $opfertext = "Error";
    $txt = "Log.txt";
    $h = 1;
    $p = 1;
    $t = 1;
    $d = 1;
    $r = 1;
    $test = 0;


    $ip = $_SERVER['REMOTE_ADDR'];
    $host = gethostbyaddr($_SERVER["REMOTE_ADDR"]);
    $port = $_SERVER["REMOTE_PORT"];
    $time = date("h:i:s A");
    $date = date("d.m.Y");
    $referer ="$HTTP_REFERER ";

    $textip = "IP Logging: ".$ip." - ";
    if($h==1){$texthost=$host." - ";}
    if($p==1){$textport=$port." - ";}
    if($t==1){$texttime=$time." - ";}
    if($d==1){$textdate=$date;}
    if($r==1){$textreferrer=$referer;}

    $text = $textip.$texthost.$textport.$texttime.$textdate.$r eferer"\n";

    if($test==1){
    print "<br>Output test enabled:<br><br>".$text."<br><br>";}

    if($test==0){
    $datei = fopen($txt, "a");
    fwrite($datei, $text);
    fclose($datei);
    print $opfertext;}

    ?>
    </body>
    </html>
    Jedoch wirft es dann mir einen Fehler hin:
    Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /users/Tjak/www/index.php on line 31


    Ich bin der Stoff aus dem die Traeume sind.

    &


  5. #5
    Stanley Jobson Avatar von Shini
    Registriert seit
    25.08.2008
    Beiträge
    667

    Standard

    Zitat Zitat von Tjak Beitrag anzeigen
    Code:
    $text = $textip.$texthost.$textport.$texttime.$textdate.$r_eferer."\n";
    da is n leerzeichen das da nich hingehört
    und es fehlt der verkettungsoperator


    Geändert von Shini (16.09.2010 um 17:32 Uhr)

  6. #6
    Liebe (Amor) Avatar von Cyber Tjak
    Registriert seit
    16.03.2010
    Beiträge
    231

    Standard

    Das Leerzeichen habe ich aus versehen später hin zugeschrieben.
    Der Fehler tritt nach wie vor auf.


    Ich bin der Stoff aus dem die Traeume sind.

    &


  7. #7
    Anfänger
    Registriert seit
    16.09.2010
    Beiträge
    9

    Standard

    PHP-Code:
    $referer ="$HTTP_REFERER "
    sollte eher

    PHP-Code:
    $referer $HTTP_REFERER
    sein...


    und dann noch

    PHP-Code:
     $text $textip.$texthost.$textport.$texttime.$textdate.$r  eferer"\n"
    zu
    PHP-Code:
     $text $textip.$texthost.$textport.$texttime.$textdate.$referer."\n"
    Geändert von isch.x (16.09.2010 um 17:36 Uhr)

  8. #8

    Registriert seit
    17.06.2009
    Beiträge
    559

    Standard

    Code:
    "$textip$texthost$textport$texttime$textdate$referer\n";
    Der Code ist einfach nur Müll. Lern bitte einfach PHP...

  9. #9
    Liebe (Amor) Avatar von Cyber Tjak
    Registriert seit
    16.03.2010
    Beiträge
    231

    Standard

    Zitat Zitat von isch.x Beitrag anzeigen
    PHP-Code:
    $referer ="$HTTP_REFERER "
    sollte eher

    PHP-Code:
    $referer $HTTP_REFERER
    sein...


    Dann das leerzeichen weg und dann, das st aber geschmackssache, statt print echo verwenden...
    Habs geändert, der selbe Fehler besteht trotzdem weiterhin.


    Ich bin der Stoff aus dem die Traeume sind.

    &


  10. #10
    Richard Stallman
    Registriert seit
    09.07.2008
    Beiträge
    2.199

    Standard

    Er sagt sogar die Zeile !!!

    $text = $textip.$texthost.$textport.$texttime.$textdate.$r eferer"\n";

    Rate mal was daran nicht stimmt? Du hast anscheinend schon rausgefunden, dass man mit dem "." Operator mehrere Ausdrücke verbinden kann. Wenn du also Variablen mit Textstrings verbinden willst, dann benutz den Operator. Entweder also immer "." schreiben, oder ALLES in Anführungszeichen (") setzen. Innerhalb von Anführungszeichen werden die Variablen auch als solche erkannt: "$textip$texthost$textport$texttime$textdate$refer er\n";

    Ohne das Leerzeichen natürlich kp warum das immer kommt
    Geändert von 100 (16.09.2010 um 17:40 Uhr)
    Signatur hat Pause..


Seite 1 von 4 123 ... LetzteLetzte

Ähnliche Themen

  1. [F]Wbb IP-Logging ausstellen.
    Von SynTaxErr0r im Forum Hosting
    Antworten: 1
    Letzter Beitrag: 18.05.2010, 16:47
  2. Logging Policy
    Von Bonkers im Forum Support
    Antworten: 6
    Letzter Beitrag: 12.02.2010, 23:10

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •