Enrico: Problem mit der Anzeige dyn. erzeugter Tabellen

Beitrag lesen

Hallo,

Ich habe mit der Ausgabe von Meldungen über dynamisch erzeugte Tabellen meine Probleme:

Die Ausgabe von Meldungen erfolgt über folgende drei Schritte:

Beispiel "Anmeldeformular wurde leer abgeschickt":

  1. Aufbau des Tabellenanfangs mit Ausgabe der ersten Überschrift:
       Tabelle_Umrandung_Anfang ("Gästebuch");

  2. Zusammensetzen der eigentlichen Meldung:
       Tabelle_Meldung ("ff0000",
                        "Fehler",
                        "Du hast keine Zugangsdaten eingegeben",
                        "PHP.Gaestebuch.Administrator.Formular",
                        "N_zurueck_zum_formular",
                        "113",
                        "N_login_abbrechen",
                        "92");

  3. Aufbau des Tabellenendes mit Ausgabe der zweiten Überschrift:
       Tabelle_Umrandung_Ende ("Login");

Diese Teilfunktionen sind immer unter einer Kopffunktion zusammengefasst, hier "Formular_leer ()", wenn das Anmeldeformular ohne Eingaben abgeschickt wurde.

Die Funktionen "Tabelle_Umrandung_Anfang ($Ueberschrift_LO)" und "Tabelle_Umrandung_Ende ($Ueberschrift_RU)" funktionieren problemlos, die Funktion "Tabelle_Meldung ()" hingegen nicht:

function Tabelle_Meldung ()
{
  $Parameter = func_num_args ();

echo '<table border="0" cellpadding="0" cellspacing="0">
          <tr>
            <td style="border: 1px solid #FFFFFF; padding: 5"
                bgcolor="#' . $Parameter [0] . '">' . $Parameter [1] . '</td>
            <td><img border="0" src="pic/gfx/L_spacer.gif" width="5" height="1"></td>
            <td style="border: 1px solid #FFFFFF; padding: 5"
                bgcolor="#000000" align="center">' . $Parameter [2] . '</td>
          </tr>
          <tr><td colspan="3"><img border="0" src="pic/gfx/L_spacer.gif" width="1" height="5"></td></tr>
          <tr>
            <td align="right" colspan="3">
              <table border="0" cellpadding="0" cellspacing="0">
                <tr>';

for ($i = 3; $i < count ($Parameter); $i = $i + 3)
                  {
                    echo '<td><a href="' . $Parameter [$i] . '">
                          <img border="0"
                               src="pic/nav/' . $Parameter [$i + 1] . '.png"
                               width="' . $Parameter [$i + 2] . '"
                               height="16"></a></td>';

if (($i + 3) < count ($Parameter))
                      echo '<td><img border="0" src="pic/gfx/L_spacer.gif" width="5" height="1"></td>';
                  }

echo '</tr>
              </table>
            </td>
          </tr>
        </table>';
}

Ich habe Zeilenumbrüche eingefügt, damit der Code übersichtlicher wird (hoffentlich).

Grundsätzlich sollen innerhalb dieser Funktion folgende An- und Ausgaben realisiert werden:

  1. Ausgabe Statuswert ("Fehler", "OK", ...) auf einer bestimmten Hintergrundfarbe

  2. Ausgabe Fehlermeldung ("Du hast keine Zugangsdaten eingegeben", ...)

  3. Angabe der aufzurufenden Seite, wenn der Administrator auf die nächste Schaltfläche klickt

  4. Angabe und Ausgabe der Schaltfläche, die auf die aufzurufende Seite verweist (mit Breite und Höhe)

  5. danach Angabe und Ausgabe beliebig weiterer Schaltflächen für weitere Aktionen (die weiteren Aktionen werde ich noch später einbauen).

Aktuell ist es so, dass die Funktion "Tabelle_Meldung ()" keine Bildschirmausgabe bewirkt. Es werden nur der einleitende und abschliessende Tabellenteil angezeigt, wie sie in den Funktionen "Tabelle_Umrandung_Anfang ("Gästebuch")" und "Tabelle_Umrandung_Ende ("Login")" implementiert sind.

Liegt die Ursache vielleicht darin, dass ich die variabel übergebenen Parameter der Funktion "Tabelle_Meldung ()" falsch abfrage ?

Vielen Dank für Eure Rückantworten.

Gruss, Enrico