Fehlerausgabe über Contentbereich

nchristoph

Erfahrenes Mitglied
Hallo zusammen,

ich will einen Fehlerbereich machen, der über dem content ausgegeben werden soll, wenn ein Fehler auftritt. Momentan habe ich einen Div Container mit der ID error.

Nach intensiver suche bin ich bei Javascript hängen geblieben.

Ich habe mir auch schon eine Funktion zusammengeschustert mit dem, was ich im Netz gefunden habe:

Java:
  function errorReport($error) {
    var elem = document.getElementById("error");
    elem.innerHTML = "<h1>"+<?php echo "$error"; ?>+"</h1>";
  }

Leider habe ich nichts gefunden, wie ich Javascript in einer PHPklasse aufrufen kann, wo die Funktion nicht existiert.

Kann mir da wer helfen?

Gibt es eventuell eine elegantere Lösung als meine momentane? Soweit ich mich entsinne, müsste man, damit das funktioniert auch Javascript aktiviert haben oder?

Sollte das eher mehr in ein anderes Subboard gehören, würde es bitte ein Mod verschieben.

mfg
 
Ok das mit try/catch kannte ich noch nicht.

Wie kann ich das Ergebnis allerdings dann in einen Div Container schreiben? Meine Oben genannte Variante funktioniert ja leider nicht. Anstelle des error Divs wird alles in den Content Div geschrieben.
 
Der Fehler liegt wohl eher an der Strukturierung deines Codes.

Am einfachsten baust du dir eine Klasse o.Ä., in der du Ausgabeblocks speicherst (z.B. Header, Content, Footer). Und die Fehler schreibst du auch in so einen Viewblock.

Am Ende gibst du diese in der richtigen Reihenfolge in deinem Template aus.
 
Hi nchristoph,

Dein Code hat einen kleinen Fehler und zwar bei "function errorReport($error) {" da schreibst du in JavaScript kein $ vor der Variablen:
Code:
  function errorReport(error) {
    var elem = document.getElementById("error");
    elem.innerHTML = "<h1>"+<?php echo "$error"; ?>+"</h1>";
  }

So sollte es laufen ;-)

Gruß
Chans
 
Habs jetzt hingekriegt:

Hatte einen Tippfehler im Code,

Jetzt wird alles richtig Angezeigt, wie es sein soll.

Danke nomma für die Hilfe.

/EDIT

Danke Chans, den Fehler habe ich gerade gefixt.
 
Zurück