Da pro Formular immer nur ein Artikel vorkommt, kann ich es doch so lassen, wie ich es oben umgesetzt habe?
Ja, das löst das Problem mit den verschiedenen Gruppen von Radio-Buttons. Das Markup gefällt mir auch schon viel besser, als bei deinem letzten Versuche. Ein paar Dinge, solltest du aber noch verbessern.
-
Du hast die <label>-Elemente nun leider rausgeworfen, die solltest du wieder aufnehmen. Sie verliehen deinem Formular wesentlich sinnbringende Semantik.
-
Du hast mal erwähnt, dass der Preis ein Pflichtfeld sein soll. Du solltest also noch das required-Attribut vergeben. Es reicht aus, wenn jeweils ein Radiobutton innerhalb einer Radiobutton-Gruppe das required-Attribut besitzt, um die ganze Gruppe verpflichtend zu machen.
-
Die Fehler, die von deiner PHP-Überprüfung festgellt werden, sollten direkt an den betroffenen Feldern ausgegeben werden, und nicht irgendwo ihres Kontextes entrissen am Anfang oder Ende des Formulars ausgegeben werden.