IP des User in Signatur eines phpBB Forums anzeigen

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

  • #16
    Dann poste nochmal das Script so wie du es hochgeladen hast. Und poste am besten auch mal die URL, wo du das hochgeladen hast.
    hopka.net!

    Kommentar


    • #17
      PHP-Code:
      <?php

      header
      ('Content-Type: image/png');

      // Betriebssystem
      if (strstr($HTTP_USER_AGENT"Windows 95"))
      $bs =  "Win95";
      else if (
      strstr($HTTP_USER_AGENT"Windows 98"))
      $bs =  "Win98";
      else if (
      strstr($HTTP_USER_AGENT"NT 4.0"))
      $bs =  "NT";
      else if (
      strstr($HTTP_USER_AGENT"NT 5.0"))
      $bs =  "Win2k";
      else if (
      strstr($HTTP_USER_AGENT"NT 5.1"))
      $bs =  "WinXP";
      else if (
      strstr($HTTP_USER_AGENT"Win"))
      $bs =  "Win";
      else if (
      strstr($HTTP_USER_AGENT"Mac"))
      $bs =  "Mac";
      else if (
      strstr($HTTP_USER_AGENT"Linux"))
      $bs =  "Linux";
      else if (
      strstr($HTTP_USER_AGENT"Unix"))
      $bs =  "Unix";
      else
      $bs =  "Other";

      // Browser
      if (ereg("MSIE"$HTTP_USER_AGENT)) {
      if (
      strstr($HTTP_USER_AGENT"MSIE 5.0")) {
      $browser "IE5";
      } else if (
      strstr($HTTP_USER_AGENT,'MSIE 5.5')) {
      $browser ="IE55";
      } else if (
      strstr($HTTP_USER_AGENT,'MSIE 6.0')) {
      $browser ="IE6";
      } else {
      $browser ="IE";
      }
      } else if (
      ereg("Opera"$HTTP_USER_AGENT)) {
      $browser ="Opera";
      } else if (
      ereg("Mozilla/([0-9].[0-9]{1,2})"$HTTP_USER_AGENT)) {
      $browser "Mozilla";
      } else {
      $browser "Other";
      }

      //IP-Adresse
      function getip() {

      if (
      getenv("HTTP_X_FORWARDED_FOR")) {
      $realip getenv("HTTP_X_FORWARDED_FOR");
      } else {
      $realip getenv("REMOTE_ADDR");
      }
      return 
      $realip;
      }
      $ip getip();


      //Hostname
      $host gethostbyaddr($ip);


      //Datum
      $datum date("d.n.Y"); //aktuelles Datum wird an $datum übergeben


      //Zeit
      $zeit date("G:i:s"); //aktuelle Uhrzeit an $zeit übergeben

      //log zusammenbauen (Log soll raus)
      // $stuff = $datum . " - " . $zeit . " | IP:" . $ip . " Host:" . $host . " OS:" . $bs . " Browser:" . $browser . "\n"; 

      //in dein-script.png schreiben
      $file 'dein-script.png';

      $new_picture imagecreatefrompng($file);

      $fontfile 'verdana.ttf';

      $fontsize 12;

      $fontangle 0;

      $text_color imagecolorallocate($new_picture18818889);

      $text "$ip $host $bs browser";

      imagettftext($new_picture$fontsize$fontangle9060$text_color$fontfile$text);

      imagepng($new_picture);
      imagedestroy($new_picture);

      ?>
      Das ist die 'dein-script.png'

      Url = www.gw-dab.de/dein-script.png

      Die .htaccess ist ebenfalls im ./html Ordner in dieser Datei steht jedoch nur

      <FilesMatch dein-script.png>
      ForceType application/x-httpd-php
      </FilesMatch>
      So, habe mich auch nochmal durch das Inet gegooelt und einen Beitrag gefunden was die GDLib betrifft.

      Wenn Sie PHP ab Version 4.3.0 benutzen, können Sie an dieser Stelle aufhören weiter zu lesen: seit dieser Version sind die PHP-Grafikfunktionen direkt in PHP eingebaut und es sind keine zusätzlichen Installationen notwendig.
      Nun versteh ich langsam wirklich garnichts mehr. Ih dachte eigentlich das Programierung in PHP zwar Variable benutzt aber das es zwichen PHP und PHP unterschieder gibt was geht und was nicht. Das habe ich nicht gewust. Der eine Sagt Hü der andere Hot.

      Ich bin wirklich für jeden Rat und jede Hilfe dankbar. Wenn jemand einen Fehler findet so poste Ihn bitte und sag mir wieso es nicht geht.

      Vielen Dank im Voraus mal für die schnellen Postings hier.

      P.S. Dieses *jpg hier in meiner Singantur ist doch sicher auf die gleiche Art und weise gebaut wie ich das hier vorhabe.

      Also ist der Quellcode doch:

      PHP-Code:
      <?PHP
      $ip 
      getenv("REMOTE_ADDR");    // IP bestimmen
      $host gethostbyaddr($ip);     // IP auflösen und Host bestimmen

      echo "Ihre IP lautet: $ip<br>\n";
      echo 
      "Ihre Hostadresse lautet: $host\n";
      ?>
      Wieso haut das denn nicht hin *grrrr*
      Zuletzt geändert von Lord-Byron; 06.02.2005, 16:53.

      Kommentar


      • #18
        Original geschrieben von Lord-Byron
        PHP-Code:
        //in dein-script.png schreiben
        $file 'dein-script.png';

        $new_picture imagecreatefrompng($file); 
        So lange das da drin steht, versucht er die Datei dein-script.png zu öffnen, und da die Texte drauf zu schreiben. Diese Datei gibt es aber nicht.

        Du musst also entweder ein Hintergrundbild erstellen, dass du in den gleichen Ordner hochlädst, und dessen Adresse du da einträgst, oder du lässt stattdessen ein neues (leeres) Bild erstellen:
        PHP-Code:
        $new_picture imagecreatetruecolor(); 
        hopka.net!

        Kommentar


        • #19
          Geht leider immer noch nicht aber ich bin ein kleines Stück weiter, bekomme nun nämlich eine Fehlermeldung.

          Die Grafik "http://www.gw-dab.de/dein-script.png" kann nicht angezeigt werden, weil sie Fehler enthält.
          Hier nochmal der Code, vielleicht findest Du ja den Fehler ich sitze auch schon dran.

          PHP-Code:
          <?php

          // dein-script.png

          header('Content-Type: image/png');

          // Betriebssystem
          if (strstr($HTTP_USER_AGENT"Windows 95"))
          $bs =  "Win95";
          else if (
          strstr($HTTP_USER_AGENT"Windows 98"))
          $bs =  "Win98";
          else if (
          strstr($HTTP_USER_AGENT"NT 4.0"))
          $bs =  "NT";
          else if (
          strstr($HTTP_USER_AGENT"NT 5.0"))
          $bs =  "Win2k";
          else if (
          strstr($HTTP_USER_AGENT"NT 5.1"))
          $bs =  "WinXP";
          else if (
          strstr($HTTP_USER_AGENT"Win"))
          $bs =  "Win";
          else if (
          strstr($HTTP_USER_AGENT"Mac"))
          $bs =  "Mac";
          else if (
          strstr($HTTP_USER_AGENT"Linux"))
          $bs =  "Linux";
          else if (
          strstr($HTTP_USER_AGENT"Unix"))
          $bs =  "Unix";
          else
          $bs =  "Other";

          // Browser
          if (ereg("MSIE"$HTTP_USER_AGENT)) {
          if (
          strstr($HTTP_USER_AGENT"MSIE 5.0")) {
          $browser "IE5";
          } else if (
          strstr($HTTP_USER_AGENT,'MSIE 5.5')) {
          $browser ="IE55";
          } else if (
          strstr($HTTP_USER_AGENT,'MSIE 6.0')) {
          $browser ="IE6";
          } else {
          $browser ="IE";
          }
          } else if (
          ereg("Opera"$HTTP_USER_AGENT)) {
          $browser ="Opera";
          } else if (
          ereg("Mozilla/([0-9].[0-9]{1,2})"$HTTP_USER_AGENT)) {
          $browser "Mozilla";
          } else {
          $browser "Other";
          }

          //IP-Adresse
          function getip() {

          if (
          getenv("HTTP_X_FORWARDED_FOR")) {
          $realip getenv("HTTP_X_FORWARDED_FOR");
          } else {
          $realip getenv("REMOTE_ADDR");
          }
          return 
          $realip;
          }
          $ip getip();


          //Hostname
          $host gethostbyaddr($ip);


          //Datum
          $datum date("d.n.Y"); //aktuelles Datum wird an $datum übergeben


          //Zeit
          $zeit date("G:i:s"); //aktuelle Uhrzeit an $zeit übergeben

          //log zusammenbauen (Log soll raus)
          // $stuff = $datum . " - " . $zeit . " | IP:" . $ip . " Host:" . $host . " OS:" . $bs . " Browser:" . $browser . "\n"; 

          //in *.png schreiben
          $new_picture imagecreatetruecolor();

          $fontfile 'verdana.ttf';

          $fontsize 12;

          $fontangle 0;

          $text_color imagecolorallocate($new_picture18818889);

          $text "$ip $host $bs browser";

          imagettftext($new_picture$fontsize$fontangle9060$text_color$fontfile$text);

          imagepng($new_picture);
          imagedestroy($new_picture);

          ?>
          Werde jetzt mal ein *jpg erstellen und sehen ob ich damit weiter komme.

          Kommentar


          • #20
            Äh, ja, da fehlen noch ein paar Parameter für imagecreatetruecolor hatte ich vergessen.
            PHP-Code:
            $new_picture imagecreatetruecolor(200,100); 
            Du kannst übrigens Fehlermeldungen sehen, wenn du dir den Quelltext von dem (kaputten) Bild anzeigen lässt.
            hopka.net!

            Kommentar


            • #21
              Original geschrieben von Hopka
              Äh, ja, da fehlen noch ein paar Parameter für imagecreatetruecolor hatte ich vergessen.
              PHP-Code:
              $new_picture imagecreatetruecolor(200,100); 
              Du kannst übrigens Fehlermeldungen sehen, wenn du dir den Quelltext von dem (kaputten) Bild anzeigen lässt.
              PHP-Code:
              $new_picture imagecreatetruecolor(200,100); 
              den truecolor wert habe ich drin.

              Ich weiss das ich den Quelltext eigentlich auslesen kann, benutze den Mozilla 1.7.3 einer seiner Vorteile ist ja das anzeigen ganzer Quelltexte. Aber genau bei diesem png geht es nicht.

              Irgendwie geht absolut garnicht im Moment.

              Aber ich bekomme jetzt die Fehlermeldung dass das Bild nicht im cache ist *grrrr*

              Vielleicht sollte ich den Code wegschmeißen und neu anfangen???

              Kommentar


              • #22
                Jetzt dürfte dein Problem noch sein, dass du die Schriftart nicht hochgeladen hast.

                http://www.gw-dab.de/dein-script.php
                hopka.net!

                Kommentar


                • #23
                  Oh...........

                  Na aber das sollt sich doch so ändern lassen, oder?

                  <style type="text/css">
                  <!--
                  body,td,th {
                  font-family: Verdana;
                  font-size: 14px;
                  color: #FFFFFF;
                  }
                  body {
                  background-color: #000000;
                  }
                  .style1 {
                  color: #FF0000;
                  font-weight: bold;
                  }
                  -->
                  </style>

                  Kommentar


                  • #24

                    Mit CSS kannst du doch nix an PHP ändern.
                    PHP-Code:
                    $fontfile 'verdana.ttf'
                    Du musst die Datei verdana.ttf natürlich mit hochladen.
                    hopka.net!

                    Kommentar


                    • #25
                      So, soweit so gut.
                      Ja, habe ich bemerkt das bei PHP nichts geht mit html Style. Aber war ne Idee muss ich dringend von weg.

                      So, der Code sieht nun so aus, hatte ja einige Variablen noch vergessen wie die für den Hintergund. Zumindest wird jetzt die png schonmal erstellt.

                      PHP-Code:
                      <?php
                      Header
                      ("Content-Type: image/png");
                      $width 500# die Breite 
                      $height 200# die Höhe 
                      $img ImageCreate($width$height);
                      $white ImageColorAllocate($img255255255);
                      ImageFill($img00$white); # ImageFill() das Bild gefüllt an den Koordinaten 0 und 0 mit $white
                      ImagePNG($img); # Hier wird das Bild PNG zugewiesen 
                      $fontfile 'verdana.ttf';
                      $fontsize 12;
                      $fontangle 0;

                      // Betriebssystem
                      if (strstr($HTTP_USER_AGENT"Windows 95"))
                      $bs =  "Win95";
                      else if (
                      strstr($HTTP_USER_AGENT"Windows 98"))
                      $bs =  "Win98";
                      else if (
                      strstr($HTTP_USER_AGENT"NT 4.0"))
                      $bs =  "NT";
                      else if (
                      strstr($HTTP_USER_AGENT"NT 5.0"))
                      $bs =  "Win2k";
                      else if (
                      strstr($HTTP_USER_AGENT"NT 5.1"))
                      $bs =  "WinXP";
                      else if (
                      strstr($HTTP_USER_AGENT"Win"))
                      $bs =  "Win";
                      else if (
                      strstr($HTTP_USER_AGENT"Mac"))
                      $bs =  "Mac";
                      else if (
                      strstr($HTTP_USER_AGENT"Linux"))
                      $bs =  "Linux";
                      else if (
                      strstr($HTTP_USER_AGENT"Unix"))
                      $bs =  "Unix";
                      else
                      $bs =  "Other";

                      // Browser
                      if (ereg("MSIE"$HTTP_USER_AGENT)) {
                      if (
                      strstr($HTTP_USER_AGENT"MSIE 5.0")) {
                      $browser "IE5";
                      } else if (
                      strstr($HTTP_USER_AGENT,'MSIE 5.5')) {
                      $browser ="IE55";
                      } else if (
                      strstr($HTTP_USER_AGENT,'MSIE 6.0')) {
                      $browser ="IE6";
                      } else {
                      $browser ="IE";
                      }
                      } else if (
                      ereg("Opera"$HTTP_USER_AGENT)) {
                      $browser ="Opera";
                      } else if (
                      ereg("Mozilla/([0-9].[0-9]{1,2})"$HTTP_USER_AGENT)) {
                      $browser "Mozilla";
                      } else {
                      $browser "Other";
                      }

                      //IP-Adresse
                      function getip() {

                      if (
                      getenv("HTTP_X_FORWARDED_FOR")) {
                      $realip getenv("HTTP_X_FORWARDED_FOR");
                      } else {
                      $realip getenv("REMOTE_ADDR");
                      }
                      return 
                      $realip;
                      }
                      $ip getip();


                      //Hostname
                      $host gethostbyaddr($ip);


                      //Datum
                      $datum date("d.n.Y"); //aktuelles Datum wird an $datum übergeben


                      //Zeit
                      $zeit date("G:i:s"); //aktuelle Uhrzeit an $zeit übergeben

                      //in neues Bild schreiben
                      $new_picture imagecreatetruecolor(200,100);

                      $text_color imagecolorallocate($new_picture000);

                      $text "$ip $host $bs $os";

                      imagettftext($new_picture$fontsize$fontangle9060$text_color$fontfile$text);

                      imagepng($new_picture);
                      imagedestroy($new_picture);

                      ?>
                      Okay, das png wird angezeigt, dnur jetzt bekomme ich die Wert da nicht rein.

                      Ich verstehe es nicht. habe doch alle Werte festgelegt.

                      Kann es sein das ich das Ende des Scriptes vielleicht nach oben setzen sollte zum Rest ???

                      Also Textcolor geht irgendwie garnicht.

                      Kommentar


                      • #26
                        Mal ganz ehrlich: Wer hat da jetzt dran rumgepfuscht? Du doch mit Sicherheit nicht, oder?

                        Nimm oben das ImagePNG raus - damit gibst du das Bild aus, und das geht nicht zweimal im gleichen Script - deswegen kriegst du auch nur ein weißes Bild raus.
                        Dann nimm unten das $new_image = imagecreatetruecolor raus, du erstellst ja jetzt schon ganz oben ein Bild mit imagecreate.
                        Dann musst du unten noch überall $new_image durch $img ersetzen, denn dein neu erstelltes Bild heißt ja jetzt so.
                        Außerdem musst du aus deinem Text noch die Variable $os entfernen, die wird nämlich nirgends definiert.
                        hopka.net!

                        Kommentar


                        • #27
                          Hmmm, doch war ich. War bei PHP.de und habe gegoogelt weil es mich madig gemacht hat.

                          Das ich nun einen doppeller drin habe ist mir schon aufgefallen.
                          Die Variable $os war ein Dedanken fehler von mir , meinte $bs habe aber aber $browser vergessen.

                          Jedoch hatte ich noch ein Problem, mein Forum das phpBB2.0.11 unterstüzt kein PHP und PNG nicht freiwillig, habe erst einen Mod einsetzen müßen.

                          Aber stimmt, die ganze $new_ müßen jetzt weg. Schon krass worauf man alles achten muss.

                          Kommentar


                          • #28
                            Original geschrieben von Lord-Byron
                            Schon krass worauf man alles achten muss.
                            Man muss sich eigentlich nur ALLE Fehlermeldungen ausgeben lassen und diese richtig interpretieren.
                            Außerdem verwendet man, wenn man sich ernsthafter mit PHP beschäftigt, Programme, die einen auf all sowas hinweisen.
                            hopka.net!

                            Kommentar


                            • #29
                              So, es ist vollbracht.
                              Mensch war das eine schwere Geburt. Bin aber mit dem Ergebniss sehr zufrieden.

                              Jedoch ist der Code abgewandelt. So wie der Code hier zu letzt gepostet war von mir waren einfach zu viele Fehler drin. Jetzt benutze ich ein PNG und lasse mir die Daten auf das PNG geben. Wollte ich zwar nicht aber wie gesagt ich bin mit dem Ergebniss sehr zufrieden.

                              Ja, also eine PHP-Editor. Hmm, ich dachte meiner ist gut, benutze den Dreamweaver MX aber sorichtig blicke ich den nicht habe jtzt einen Script-Editor von einem Freund der mir Fehlerhaft Variale und Tags in der Seitenleiste anzeigt und im Script mit einem roten Ausrufezeichen makiert.

                              Ich danke jedenfalls für die Hilfe.

                              Hier mal meine jetztige Umsetzung:

                              PHP-Code:
                              $image "name-deines-PNG.png"
                              $im imagecreatefrompng($image); 
                              $text 'Du kannst keine Geheimnisse mehr vor mir haben *muhaha*'
                              $textg 'Viel Spaß noch hier im Forum :-)'
                              $ip $_SERVER['REMOTE_ADDR']; 
                              $herkunft $_SERVER['HTTP_REFERER']; 
                              $fullhost gethostbyaddr($ip); 
                              $host preg_replace("/^[^.]+./""*."$fullhost); 
                              $zeit time(); 
                              $zeit1 date("d.m.Y"$zeit); 
                              $zeit2 date("H:i"$zeit); 
                              2 Text Felder mit einem persönlichen Text, die PNG, sowie die ersten Variablen
                              Dann kommen eben noch die Browser und Betriebsystemvariablen dazu wie in den anderen postings hier.

                              PHP-Code:
                              $tc  ImageColorAllocate ($im255255255); 
                              $red  ImageColorAllocate ($im25500); 
                              $green  ImageColorAllocate ($im02550); 
                              Das ist die Festsetzung der Schriftfarben

                              PHP-Code:
                              ImageString($im5106"$text "$tc); 
                              ImageString($im31030"Deine IP: "$red)
                              ;
                              ImageString($im311530"$ip "$green); 
                              ImageString($im31045"Du kommst von: ",$red);
                              ImageString($im311545"$herkunft "$green); 
                              ImageString($im31060"Dein Host: "$red);
                              ImageString($im311560"$host "$green); 
                              ImageString($im31080"Heute ist der "$red);
                              ImageString($im311580"$zeit1 "$green); 
                              ImageString($im310100"Es ist jetzt "$red);
                              ImageString($im3115100"$zeit2 "$green);
                              ImageString($im3160100"Uhr "$red);
                              ImageString($im310120"Du benutzt den",$red);
                              ImageString($im3110120$browser",$green);
                              ImageString($im3170120"und",$red);
                              ImageString($im3195120$bs",$green);
                              ImageString($im3265120"ist Dein Betriebssystem.",$red);
                              ImageString($im510160"$textg "$tc);
                              header("Content-Type: image/png"); 
                              Imagepng($im,'',100); 
                              ImageDestroy ($im); 
                              Und das Formatierne der Schrift auf dem PNG sowie die Platzierung der Variablen.

                              Das wars eigentlich. Nicht besonderst aufregend aber funktionell.

                              Also, nochmals vielen Dank für die Hilfe.
                              Zuletzt geändert von Lord-Byron; 08.01.2006, 12:07.

                              Kommentar


                              • #30
                                Und jetzt mache noch bitte ein paar Zeilenumbrüche in den eben geposteten Code, damit man nicht horizontal scrollen muss.

                                Und bitte nimm dieses große Bild aus deiner Signatur hier - hat nämlich sonst auch keiner, wird auch nicht so gerne gesehen.

                                Wenn du dein Script so schön findest, kannst du es ja in den Code-Schnipseln zur Schau stellen.
                                hopka.net!

                                Kommentar

                                Lädt...
                                X