Frohes Neues 🎆
Die Sache mit der Datenmodellierung und -Übertragung ist vielschichtig.
- Im HTML.
Da gehört type="text" und ein Pattern hin. - Im PHP - Datenempfang.
Hier musst du nochmal alle Input-Regeln prüfen (weil Input nie vertrauenswürdig ist). Wenn du meinst, Werte irgendwie normieren zu müssen (z.B. PLZ auf 5 Stellen füllen, oder wer weiß was sonst, musst du das dem Anwender spiegeln und nicht in die DB schreiben. Kannst du die Eingabe ohne Modifikation speichern, kommt - PHP - Übergabe an MySQL Einen String speichert man mit Typcode s, und das DB Feld muss natürlich passen. Wenn du nur 5-stellige PLZ hast, dann CHAR(5). Hast du PLZ mit variabler Länge, dann z.B. VARCHAR(6). Dann geht auch keine führende Null verloren.
Wenn die DB für die PLZ eine Column mit numerischem Typ definiert, klappt das natürlich nicht, das wäre dann der Modellierungsfehler.
Ein CHAR Feld in der DB, das du mit Typcode i schreibst, wäre ein Programmierfehler...
Rolf