Tom: Generierte Tabelle wird verschben angezeigt

Beitrag lesen

Hello Jonny,

den gesuchten Fehler hast Du ja schon gefunden. Gut!

Aber Dein Script weist noch ein paar andere Feherl auf. Wenn Du unbekannte Textinhalte, also solche, die irgendwie von Benutzern beeinflusst werden können, in einer HTML-Umgebung ausgeben willst, dann solltest Du sie auch auf diese Umgebung vorbereiten. Anderenfalls könnte auch in diesen Inhalten HTML, JavaScript oder sonstiges mit Steuerwirkung versteckt sein und dann Deine ganze Seite zerschießen.

Lies Dir mal den Artikel http://aktuell.de.selfhtml.org/artikel/php/kontextwechsel/ durch.

Außerdem würde ich Dir empfehlen, solange Du nicht an absoluter Speicherknappheit leidest, Deine Scripte zumindest nach dem EVA-Prinzip (als Verwandter vom MVC) aufzubauen.

Eingabe:      Daten beschaffen, SQL-Abfrage
Verarbeitung: Daten behandeln, berechnen, aufbereiten
Ausgabe:      Daten ausgeben.

Und die Schleife

while($datenarray = mysql_fetch_array($meintableresult, MYSQL_ASSOC) or die (mysql_error()))
   {
   }

ist äußerst ungesund aufgebaut. Sie endet immer mit dem Tode des Scriptes, obwohl doch hier überhaupt kein MySQL-Error mehr etwas zu suchen hat. Den MySQL-Error fragst Du direkt nach der Datenbaschaffung ab, also nach dem MySQL-Query.

Hier wird die Ergebnismenge abgearbeitet, die von MySQL bereits an die API (PHP) übergeben wurde, allerdings noch sequentiell vorliegt, also noch nicht als PHP-Array.

Das die() ist hier also fehlplaziert, zumal es sowieso keine sinnvolle Fehlerbehandlung für ein produktives Script darstellt. Was soll der User in seiner Ausgabe mit dem MySQL-Fehler anfangen? In einer Testumgebung oder für "quick and dirty" kann man es allerdings benutzen...

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de