Hallo,
Ich füge mal meinen Code an um das ganze zu veranschaulichen:
und schon sieht man ein paar böse Fehler. Ob die das beschriebene Verhalten auslösen ... schwer zu sagen.
startseite.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<body bgcolor="white" link="0066FF" onload="ausgabebereich.location.href='abgleich.php' ">
Ähm ... Kein title-Element im head? Kein schließendes Tag für head?
Und vor allem: Du beziehst dich auf einen frameset-DOCTYPE, baust aber gar kein Frameset.
> `<table><td id="navi_ueberschrift"> Navigation </td></table>`{:.language-html}
Fehler: td kann nicht direkt Kind von table sein, da fehlt mindestens mal ein tr. Und eine Tabelle mit nur einer Zelle würde ich "degeneriert" nennen. Zumindest ist das nicht das geeignete Element.
> ~~~html
<table id="tabelle">
> <tbody>
> <a href="form.php" target="ausgabebereich" ><tr><td style="text-decoration:none; color:white" > Menü 1 </td></tr></a>
> <a href="xxx.php" target="ausgabebereich" ><tr><td style="text-decoration:none; color:white" > Menü 2 </td></tr></a>
> <a href="xxx.php" target="ausgabebereich" ><tr><td style="text-decoration:none; color:white" > Menü 3 </td></tr></a>
> </tbody>
> </table>
Fehler: Auch ein Link (a-Element) kann kein Kind von table oder tbody sein. Das a-Element muss in diesem Fall komplett *innerhalb* der Zelle stehen, alles andere ist grob fehlerhaft.
<iframe id="ausgabebereich" name="ausgabebereich" class="ausgabebereich" >
</iframe>
Na, jetzt übertreibst du es aber mit der Benennung ...
> ~~~html
<form method="post" action="auswertung.php" name="abschicken" >
>
> <!-- Welche Art Nachricht soll versendet werden -->
> <a href="#" ><div class="box1_msg" onclick="showonlyone('popup_msg');" style="text-decoration:none; color:white">MSG-Ausgabe wählen</div></a>
Fehler: Ein a-Element darf keine Blockelemente als Kinder haben (außer in HTML 5). Außerdem: Wozu ein Link, der nur auf den Anfang der aktuellen Seite verlinkt?
<table>
<colgroup> <col width="30"> <col width="170"> </colgroup> <tbody> <br> <tr><td><input type="checkbox" name="msg" value="Störungs - MSG"></td><td>Störungs - MSG</td></tr>
Das hatten wir sinngemäß schon mal: Auch br kann kein Kind von tbody sein. Wozu überhaupt ein br?
> ~~~php
Auswertung.php
>
> <?php
>
> //**** Daten aus Formular empfangen ****
> $msg= $_POST["msg"];
> $anw= $_POST["anw"];
Wozu das Umkopieren der Variablen?
echo 'E-Mail wurde verschickt!';
Das weißt du zu diesem Zeitpunkt noch gar nicht. Genaugenommen weißt du es am Ende des Scripts auch noch nicht.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
Und schon wieder kündigst du ein Frameset an, wo keins ist.
Wenn du jetzt noch erklären könntest, wie diese vier Dokumente miteinander interagieren sollen - mir ist das nämlich zu konfus, um mich da durchzukämpfen, und ich bin überzeugt, dass man das deutlich vereinfachen könnte.
Also: startseite.php enthält ein iframe. In dieses iframe wird sofort (onload) abgleich.php geladen. Dieses Dokument erwähnst du aber nirgends weiter.
Dann gibt es anscheinend eine Datei form.php, von der ich nicht weiß, wie die ins Konzept passt. Oder ist das nur ein Zuordnungsfehler, und das soll eigentlich abgleich.php sein?
Und form.php übergibt die Formulardaten schließlich an auswertung.php, wo eine Mailnachricht generiert wird. Dass da auch noch ein mail.php includiert wird, treibt die Verschleierung noch weiter - zumal ein komplettes HTML-Dokument mit html-Element, head und body \*in ein anderes\* eingefügt wird. Wozu du nach noch mit output buffering hantierst, ist mir auch schleierhaft.
Aber wenn ich Browser wäre, wüsste ich nach dem Durcheinander auch nicht mehr, ob ich Männlein oder Weiblein bin. Ich glaube, das Beste wäre hier: Abreißen und neu aufbauen - und zwar systematisch und mit Ordnung.
Ciao,
Martin
--
Alleine sind wir stark ...
gemeinsam sind wir unausstehlich!
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(