404 Fehlercode

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

  • 404 Fehlercode

    Hallo, ich möchte für meine Seite eine Fehlercode Seite erstellen, allerdings nicht so, dass ein User umgeleitet wird, sondern das das einfach auf der Seite angezeigt wird.

    Wenn jemand auf index2.php geht, möchte ich nicht, dass er auf fehler404.php umgeleitet wird, sondern dass auf index2.php der Inhalt von fehler404.php angezeigt wird. geht das irgendwie?

    meine zweite Frage wäre, ob es möglich ist, die URL im Browserfenster zu verändern, ohne die Seite neu laden zu müssen, wenn also jemand nach "Peter" sucht, dann soll er direkt nach dem Klick auf Submit auf suchen.php?name=peter weitergeleitet werden, und nicht nur auf suchen.php. Das ganze hat den Hintergrund, dass ich möchte, dass der User sich die Suche ganz einfach bookmarken kann, bisher habe ich das so gehandhabt, dass ich unten einen Link angeboten habe, wo dann eben suche.php?name=peter stand, oder dass man erst auf eine Seite gekommen ist, wo die URL "erzeugt" wurde, also einfach auf suchen.php?name=peter via Meta tag weitergeleitet.
    Geht das auch irgendwie anders, dass man direkt auf die entsprechende Seite kommt?

    Gruß

  • #2
    Re: 404 Fehlercode

    Original geschrieben von Zipper5004
    Wenn jemand auf index2.php geht, möchte ich nicht, dass er auf fehler404.php umgeleitet wird, sondern dass auf index2.php der Inhalt von fehler404.php angezeigt wird. geht das irgendwie?
    include('fehler404.php');

    meine zweite Frage wäre, ob es möglich ist, die URL im Browserfenster zu verändern, ohne die Seite neu laden zu müssen, wenn also jemand nach "Peter" sucht, dann soll er direkt nach dem Klick auf Submit auf suchen.php?name=peter weitergeleitet werden, und nicht nur auf suchen.php. Das ganze hat den Hintergrund, dass ich möchte, dass der User sich die Suche ganz einfach bookmarken kann, bisher habe ich das so gehandhabt, dass ich unten einen Link angeboten habe, wo dann eben suche.php?name=peter stand, oder dass man erst auf eine Seite gekommen ist, wo die URL "erzeugt" wurde, also einfach auf suchen.php?name=peter via Meta tag weitergeleitet.
    Das Formular halt statt Post mit Get abschicken.

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar


    • #3
      Also wenn ichs richtig verstanden hab recihts doch wenn du in deiner Such-Form method von POST auf Get änderst oder nicht? ist nicht schön funktioniert aber

      Ne andere Möglichkeit wäre, dass du beim klick auf suchen, per JS ein location.href erstellst mit dem Suchparameter als Get Variable
      Lurchi ! Lurchi ! Lurchi !

      Kommentar


      • #4
        include('fehler404.php');
        geht das so?
        Code:
        ErrorDocument 404 include('fehler404.php');
        Das Formular halt statt Post mit Get abschicken.
        kann ich mit der Funktion auch mehrere Dinge übergeben?
        also name=Peter ; lastname=Mustermann ; ************=male?

        und wie läuft das dann?
        Code:
        <form id="form1" name="form1" method="get" action="suchen.php?name=$_POST[$name]&lastname=$_POST['$lastname]">

        Kommentar


        • #5
          nein du hast einfach anstatt $_POST['name'], $_GET['name']. Und wenn du dann auf die such.php kommst stehen alle GET Variablen oben in der URL
          Lurchi ! Lurchi ! Lurchi !

          Kommentar


          • #6
            Du musst den Aufbau deines Formulares (und die action) nicht ändern, wenn du die Methode auf GET umstellst. Die gleichen Elemente die vorher die POST-Werte geliefert haben werden jetzt an die URL angehängt. Bezüglich mehrerer Werte: Keine Angst, das macht der Browser dann schon automatisch, wenn du eben mehrere Elemente mitsendest, dann dürfte dir auch das Format klar werden.
            In diesem Zusammenhang bitte unbedingt das Thema SQL Injections und mysql_real_escape_string() nicht vergessen.

            Zum 404-Dokument: in der .htaccess-Datei (die du offenbar editierst) kannst du keinen PHP-Code angeben (standardmäßig), weil dieser hier nicht interpretiert wird. Du kannst lediglich den Dateinamen des Fehlerdokumentes angeben. Soweit ich weiß - bin mir aber nicht sicher - wird das dann standardmäßig auch gar nicht in der Browserzeile angezeigt, da es im Apache intern verarbeitet wird.
            Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

            Kommentar


            • #7
              Original geschrieben von Zipper5004
              geht das so?
              Code:
              ErrorDocument 404 include('fehler404.php');
              Hast du es ausprobiert?...

              Was hattest du da vorher stehen?
              Normalerweise leitet der Apache nur weiter, wenn dort eine absolute URL steht. Hast du es mal einfach mit
              /pfad/zur/err.php
              probiert?

              Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

              bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
              Wie man Fragen richtig stellt

              Kommentar


              • #8
                habe folgendes in .htaccess stehen
                Code:
                ErrorDocument 404 fehler.htm
                angezeigt wird dann folgendes
                Code:
                fehler.htm
                in fehler.htm steht
                Code:
                hallo 404
                schreibe ich folgendes rein, klappt es
                Code:
                www.meinehompage.de/fehler.htm
                aber in der URL wird dann statt
                [code]www.meinehompage.de/falsche_seite.php[/url]
                wieder
                Code:
                www.meinehompage.de/fehler.htm
                habe gelesen, dass das immer so sei, wenn man direkt verlinkt, aber anders bekomme ich es nicht hin


                Das mit dem Get klappt wunderbar, aber wie bekomme ich es hin, dass der dann so etwas wie "mode=search" noch mit übergibt?

                Code:
                <form id="form1" name="form1" method="get" action="suchen.php?mode=search">
                klappt leider nicht

                Kommentar


                • #9
                  Es empfiehlt sich, die Adresse des ErrorDocuments mit einem fuehrenden Slash anzugeben, also von der Domainwurzel aus.


                  Das mit dem Get klappt wunderbar, aber wie bekomme ich es hin, dass der dann so etwas wie "mode=search" noch mit übergibt?
                  In dem du noch ein entsprechendes Feld mit ins Formular packst.
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    Original geschrieben von wahsaga
                    In dem du noch ein entsprechendes Feld mit ins Formular packst.
                    kann man das "unsichtbar" machen, also so, dass das keiner mitbekommt/auf den ersten Blick sieht?

                    Es empfiehlt sich, die Adresse des ErrorDocuments mit einem fuehrenden Slash anzugeben, also von der Domainwurzel aus.
                    hab ich vergessen, danke


                    edit: hab mal was probiert
                    Code:
                    ErrorDocument (*) /fehler.php?mode=$1
                    so geht es nicht, aber kann man das evtl irgendwie dynamisch machen, dass der bei jedem Fehlercode auf die Seite geht, und dann dort halt "Fehlercode 404" oder so anzeigt?
                    Zuletzt geändert von Zipper5004; 24.02.2009, 16:34.

                    Kommentar


                    • #11
                      Original geschrieben von Zipper5004
                      kann man das "unsichtbar" machen, also so, dass das keiner mitbekommt/auf den ersten Blick sieht?
                      <input type="hidden" name="parameter" value="wert" />
                      Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

                      Kommentar


                      • #12
                        Original geschrieben von Zipper5004
                        kann man das "unsichtbar" machen, also so, dass das keiner mitbekommt/auf den ersten Blick sieht?
                        Ja - und man kann vielleicht auch mal was selber nachlesen, statt fuer jeden Pups zu fragen.
                        http://de.selfhtml.org/html/formulare/versteckte.htm

                        aber kann man das evtl irgendwie dynamisch machen, dass der bei jedem Fehlercode auf die Seite geht, und dann dort halt "Fehlercode 404" oder so anzeigt?
                        Ja, man kann bei der ErrorDocument-Angabe auch GET-Parameter mit angeben, die sich dann im Script auswerten lassen.
                        I don't believe in rebirth. Actually, I never did in my whole lives.

                        Kommentar


                        • #13
                          Original geschrieben von wahsaga
                          Ja, man kann bei der ErrorDocument-Angabe auch GET-Parameter mit angeben, die sich dann im Script auswerten lassen.
                          du meinst mit
                          Code:
                          ErrorDocument 404 fehler.php?mode=404
                          ErrorDocument 500 fehler.php?mode=500
                          ?

                          Ich versuche es aber mit (*) oder so dynamisch zu machen, dass ich nicht für jeden Fehlercode eine eigene Zeile machen muss bei htaccess, aber evtl. hast du recht, und das ist letztendlich doch einfacher

                          Kommentar


                          • #14
                            Original geschrieben von Zipper5004
                            Ich versuche es aber mit (*) oder so dynamisch zu machen, dass ich nicht für jeden Fehlercode eine eigene Zeile machen muss bei htaccess
                            Wenn du dir deinen eigenen Webserver schreibst, der eine entsprechende Syntax versteht, dann kannst du das natuerlich gerne machen.
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Kommentar

                            Lädt...
                            X