Hallo
<?php $nameValues['id'] = (isset($dataset['id'])) ? htmlspecialchars($dataset['id']): ''; $nameValues['kundenname'] = (isset($dataset['kundenname'])) ? htmlspecialchars($dataset['kundenname']): ''; # u.s.w.
So lieber nicht. Das ist hier die Datenverarbeitung und nicht die Ausgabe.
htmlspecialchars()
hat hier nichts zu suchen, das muss in den Ausgabeteil, da wo das HTML erstellt wird. …
Ok, gutes Argument.
… Zudem verhindert solch frühzeitiges Maskieren, dass die Daten noch anderweitig verarbeitet werden können. Bei Validierungen, die zwei oder mehr Felder umfassen ist sowas zum Beispiel sehr ungünstig. Die Validierung findet üblicherweise erst nach der Prüfung auf Inhalt statt.
Ich kann mir für den Fall des Lesens eines Datensatzes zur Ausgabe in einem Formular zwar keinen Fall einer nötigen Validierung vorstellen, aber sei's drum. Eine Validierung erwarte ich bei der Überprüfung einer Eingabe, also nach dem absenden eines wie auch immer ausgefüllten Formulars. Mein Beispielcode ist zudem auch kein vollständiges Beispiel. Eine eventuell dennoch nötige Validierung könnte auch zwischen dem Auslesen des Datensatzes aus der Datenbank und dem Befüllen des Arrays mit den möglichen Werten der name-Attribute stattgefunden haben, also in einem Codeabschnitt, der nicht Teil des Beispiels ist.
Tschö, Auge
Ein echtes Alchimistenlabor musste voll mit Glasgefäßen sein, die so aussahen, als wären sie beim öffentlichen Schluckaufwettbewerb der Glasbläsergilde entstanden.
Hohle Köpfe von Terry Pratchett