BigPeter: Tabelle fliegt nach Datenbank-Element auseinander

Einen wunderschönen guten Abend allersetits,

ich habe folgenden Code :

<table cellpadding="3" cellspacing="0" border="1" width="90%" class="mf tabc">  
  <tr class="thead">  
    <td>aktuelle News</td>  
    <td width="20"></td>  
  </tr>  
  <tr>  
    <td>
<?php  
  if ((isset($saet[0][0]) && $saet[0][0] != '') OR (isset($lh[0][0]) && $lh[0][0] != '')) {echo "<b>". $lh[0][0] ."</b><br />".  $saet[0][0] ."</td>  
  <td class=\"tabc\"><a href=\"del.php\" onClick=\"return confirm('Sind sie sich sicher die News zu löschen ?')\"><img src=\"img/del.gif\" border=\"0\" height=\"16\" width=\"16\"></a></td>";}  
  else {echo "Keine News vorhanden.</td>  
  <td></td>";}  
?>
  </tr>  
</table>

funktionieren tut dieser auch fehlerlos, jedoch ergibt sich beim Layout ein Problem. Wenn die Variable $saet[0][0] größer ist als eine Zeile dieser 90% erfolgt kein Umbruch (wie man sich erhofft) und es geht in der nächsten Zeile weiter sondern die Tabelle zieht sich soweit es nur geht und zerstört jegliches Layout. Die Variable $saet[0][0] ist eine Element aus der Datenbank (TEXT). Ist es möglich dieses zerstören der Tabelle zu verhindern ?

Liebe Grüße

BIG PETE !

  1. Moin Moin!

    ich habe folgenden Code :

    Da fehlt ein K und ein t, dafür sind je ein C, d und e zu viel.

    1. Du schreibst Werte, die seht wahrscheinlich direkt aus der Datenbank stammen, ohne jedes Escaping in das generierte HTML-Dokument. Grober Design-Fehler, das schreit nach Injection.

    2. Du hast einen Link, der per GET-Request Daten löscht. Grober Design-Fehler; um Daten zu ändern oder zu löschen, benutzt man POST-Requests, ausgelöst durch Abschicken von Formularen. Hintergrund: Browser können zur Beschleunigung andere Seiten auf Verdacht laden. Lädt ein Browser die Lösch-Seite auf Verdacht, sind die Daten weg, ohne jede Bestätigung. Suchmaschinen und Link-Checker folgen auch gerne jedem Link. Einmal indizieren bzw. prüfen und alle Daten sind weg.

    3. Die Rückfrage vor dem Löschen funktioniert nur, wenn Javascript aktiv ist. Ohne Javascript wird gnadenlos gelöscht.

    Alexander

    --
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".