Ankündigung

Einklappen
Keine Ankündigung bisher.

eMail bei Fehlerseite

Einklappen

Neue Werbung 2019

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

  • eMail bei Fehlerseite

    Hallo,

    wie kann ich mit PHP machen, dass beim Aufruf einer Fehlerseite (z.B. 404) dem admin eine eMail geschickt wird, in der steht, von welcher Seite und von welchem Link die Fehlerseite aufgerufen wurde? So, dass man sehen kann, wenn ein defekter Link auf der Website ist. Danke im Vorraus!


  • #2
    es gibt bestimmt eine 404.html
    in der config vom Apache kannst du die Fehlerseiten-URL ändern, z.b. in "404.php" dann kannst du einfach eine mail()-Funktion einbauen

    Kommentar


    • #3
      Oder:

      du machst es einfach mit .htaccess und zwar schreibst du rein

      ErrorDocument 404 errors/Error404.php //ist irgendeine Fehlersite, und in der fügst du dann eine Mailfunktion ein.

      Das kannst du natürlich auch mit anderen Error Documents machen:

      z.B.

      ErrorDocument 405 errors/Error405.php usw.

      mfG
      Alex

      Kommentar


      • #4
        Hallo,
        Danke für die Antworten! Aer ich bin absoluter Neuling in PHP... Wie sieht denn so eine Mail-Funktion aus? Und wie kann ich auslesen, mit welchem Link die Fehlerseite aufgerufen wurde? Danke!

        Kommentar


        • #5
          ok, wie ein mail()-function gemacht wird weiß ich inzwischen. men code:

          Code:
          <?php
          mail("webmaster@doman.de", "Betreff", "Text");
          ?>
          aber wie kann ich machen, dass in der mail noch steht, von wo aus die fehlerseite aufgerufen wird? oder kann mir jemand einen ansatz geben, dann probier ichjs selber... Danke!

          Kommentar


          • #6
            versuchs mal mit
            Code:
            $_SERVER['HTTP_REFERER']

            Kommentar


            • #7
              danke für die antwort!

              also, habs mal versucht einzubauen (bin absoluter neuling in sachen php):

              Code:
              <?php
              mail("webmaster@domain.de", "Fehler 404 aufgetreten", "Es wurde eine Seite nicht gefunden. Du\nsolltest schnellstmöglich danach gucken.\nDer defekte Link war hier:\n$_SERVER['HTTP_REFERER']");
              ?>
              aber dann kam folgende fehlermeldung:

              Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in /home/www/kunden/*****.de/404.php on line 32
              kann mir jemand sagen, wass da falsch ist? Danke!

              Kommentar


              • #8
                Zitat von DaNnYy
                kann mir jemand sagen, wass da falsch ist? Danke!
                28.15. Notice: Use of undefined constant ...
                http://www.dclp-faq.de/q/q-fehler-konstante.html

                Code:
                "$array[key]"   // Korrekt (!), da innerhalb eines Strings
                "$array[$key]"  // Korrekt
                "$array['key']" // Parse error!

                Kommentar


                • #9
                  Danke! Jetzt kommt keine Fehlermeldung mehr... Allerdings sagt er jetzt nur

                  Code:
                  ;
                  statt der Adresse, von der er kommt...

                  Kommentar


                  • #10
                    Zitat von DaNnYy
                    Allerdings sagt er jetzt nur
                    Wer sagt das wo?

                    Kommentar


                    • #11
                      In der eMail steht jetzt nur ein ; statt der Adresse, die er eigentlich anzeigen sollte...

                      Kommentar


                      • #12
                        Zitat von DaNnYy
                        In der eMail steht jetzt nur ein ; statt der Adresse, die er eigentlich anzeigen sollte...
                        Dann steht in $_SERVER["HTTP_REFERER"] nicht das drin, was Du suchst.

                        Ich erledige das so:

                        in der httpd.conf:
                        Code:
                        ErrorDocument 404 /404.php
                        404.php:
                        Code:
                        <?php
                        echo "<h3>Error ".$_SERVER["REDIRECT_STATUS"]."
                        ";
                        switch ($_SERVER["REDIRECT_STATUS"])
                        {
                        	case '404': echo $_SERVER["REQUEST_URI"]." nicht gefunden!"; break;
                        }
                        echo "</h3>";
                        echo "
                        
                        [zur&uuml;ck]</p>";
                        ?>

                        Kommentar


                        • #13
                          das funktioniert bei mir irgendwie nicht... außerdem steht auf der Fehlerseite IMMER "Fehler 200" und nicht "404"... mir wäre die alte variante doch lieber weiß dazu jemand was?

                          Kommentar


                          • #14
                            Zitat von DaNnYy
                            das funktioniert bei mir irgendwie nicht...
                            Bei mir klappert das:
                            http://test.php-help.info/nix

                            Kommentar


                            • #15
                              ok, hatte die Fehlerseite in der .htacces-datei angegeben, nicht in der http.confg...
                              und wie krieg ich das jetzt in die mail, die er automatisch generiert? hab mal probiert, aber so geht's net:

                              Code:
                              <?php
                              mail("webmaster@domain.de", "Fehler 404 aufgetreten", "Es wurde eine Seite nicht gefunden. Du\nsolltest schnellstmöglich danach gucken.\nDer defekte Link war hier:\n$_SERVER[$REQUEST_URI]");
                              ?>
                              da steht dann keine URL an der Stelle, an der sie stehen sollte (in der Mail)

                              und wenn ich's so mach:

                              Code:
                              <?php
                              mail("webmaster@domain.de", "Fehler 404 aufgetreten", "Hi,\n\nes wurde eine Seite nicht gefunden. Du\nsolltest schnellstmöglich danach gucken.\nDer defekte Link war hier:\n$_SERVER["REQUEST_URI"]");
                              ?>
                              gibt der server ne fehlermeldung aus... was soll ich da machen? thx.

                              Kommentar

                              Lädt...
                              X