Announcement

Collapse
No announcement yet.

Fehlerausgabe. Aber wie

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Fehlerausgabe. Aber wie

    Guten Abend...

    Ich sitz gerade an einem dicken Problem und so langsam bekomme ich die Krise und die Ideen gehen mir auch so langsam aus.

    Folgender Sachverhalt. Ich habe mir ein kleines CMS zusammengeschustert. Für jedes Modul einen Unterordner mit index.php. Doch, wie es CMS so an sich hat, müssen die Daten ja auch irgendwie eingegeben werden -> sprich Formulare.
    Ist nun ein Muss-Feld leer, schreibe ich in $GLOBALS["msg_err"] eine Fehlermeldung.
    Mit der function showErrors() wird nachgesehen, ob $GLOBALS["msg_err"] was enthält. Wenn ja, wird das ausgegeben.
    Das hat bisweilen auch gut geklappt.
    Leider trat später noch ein anderes Problem auf, weshalb ich die verarbeitenden Teile ausgelagert hab.
    Ein weiters Skript prüft nun die Daten und leidet über header("Location: ". $_SERVER["HTTP_REFERER"]); auf die ursprüngliche Seite zurück.
    Nur ist meine Fehlermeldung nirgends zu finden...
    Wo kann ich die denn noch speichern? Oder werden bei der header-Direktive alle globalen Daten gelöscht?

    Für schnelle und hilfreiche Antworten danke ich schon mal.

    Mfg kuebelkasten

  • #2
    Hallo kuebelkasten,
    Originally posted by kuebelkasten View Post
    ...Ein weiters Skript prüft nun die Daten und leidet über header("Location: ". $_SERVER["HTTP_REFERER"]); auf die ursprüngliche Seite zurück.
    Nur ist meine Fehlermeldung nirgends zu finden...
    Wo kann ich die denn noch speichern? Oder werden bei der header-Direktive alle globalen Daten gelöscht?
    Durch das setzen eines Headers alleine nicht, aber wenn du statt Ausgabe von HTML auf eine andere Seite weiterleitest, dann sind natürlich alle aktuell gesetzten Werte hinfällig. Das ist ja nichts anderes, als wenn der Nutzer eine neue Seite aufgerufen hätte.
    Wenn du die Meldung Seitenübergreifend verwenden möchtest, dann ist es am besten diese in der SESSION deines CMS zu speichern. Jedes Script sollte dann prüfen ob es in der Session eine Meldung gibt und - wenn nicht gerade wieder eine Header-Weiterleitung gemacht wird - diese ausgeben und in der Session löschen (damit sie nicht immer und immer wieder angezeigt wird).

    Gruß Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      Servus,

      ich weiß ja nicht wie das Routing in deinem CMS abläuft, aber - sofern wir nicht über mehrseitige Formulare sprechen - könnte man aus dem Refer-Header ja die nötige GET Variablen filtern und erst den Error ausgeben und dann anschließend den Inhalt der Seite, die der Besucher vorher aufgerufen hat.

      Ohne die von dir angesprochen Probleme zu kennen wage ich es aber einfach mal zu behaupten, dass es ein try catch Block mit Exceptions auch tun würde ;-)

      greetings

      Comment


      • #4
        Hallo Moritz S.,

        bitte mal aufs Datum achten! Der Thread ist vom Dezember 2008, also ein halbes Jahr alt. Der Fragesteller hat sich auch nicht noch mal gemeldet - ist also offensichtlich erledigt.

        Gruß Falk
        Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

        Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

        Comment


        • #5
          Also ich persöhnlich freu mich immer wenn ich über Google ein Forum finde und - unabhängig vom Datum - gut beraten werde.

          Ist also mehr als Ergänzung gedacht.

          Comment


          • #6
            ich schließe mich da moritz an...
            ich bekomm das kotzen wenn ich foren google und dann keine lösungen drine sind.. egal aus welchem jahrhundert!

            ich würde hier allerdings auch empfehlen alle "globalen" variablen in der session zu speichern, diese bleibt bekanntlich bis zum ablauf des timers oder zum schließen des browsers bestehen und werden auch durch einen header-aufruf nicht gelöscht...


            mfg nooa

            Comment


            • #7
              ...und ich bekomm das k... wenn steinalte Threads von Leuten die sich vor hundert Jahren zuletzt angemeldet haben wieder ausgegraben werden...

              So unterschiedlich sind die Meinungen .
              Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

              Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

              Comment

              Working...
              X