Gunnar Bittersmann: Frage zur nutzung von php echo htmlspecialchars

Beitrag lesen

@@bjbenderTV

 <fieldset>

         <input name="name"placeholder="Name" type="text">
         </fieldset>

Ein fieldset ohne legend macht wohl wenig Sinn (auch wenn die HTML-Spec das nicht vorschreibt). fieldset macht hier aber überhaupt keinen Sinn, denn es dient zur Gruppierung mehrerer zusammengehörender Eingabefelder.

Die HTML-Spec schreibt aber Leerzeichen zwischen Attributen vor (hier zwischen name="name" und placeholder="Name".

Das placeholder-Attribut macht hier aber überhaupt keinen Sinn (das tut es in den allermeisten Fällen nicht). Eingabefelder brauchen eine richtige Beschriftung – ein label.

Mach daraus:

	<label>
		<span>Name:</span>
		<input name="name">
	</label>

Und das bei den anderen Feldern ebenso. type="text" brauchst du nicht angeben. Die anderen Werte wie "email" und "tel" aber.

Im Stylesheet dann noch:

label > span { display: block }

Wenn da noch ein Rahmen drumrum soll (wozu eigentlich?):

label { border: thin solid silver; padding: 0.5em }

"Ihre E-Mail"

„Ihre“ ist überflüssig. Weg damit! Und das bei den anderen Feldern ebenso.

"Ihre Stadt"
"Ihre PLZ"
"Ihre Adresse(Straße,Nr.)"

Du klempst. Sowohl vor ( als auch nach dem Komma gehört ein Leerzeichen.

„Stadt“ ist keine gute Beschriftung. Sollen Nutzer, die auf dem Land wohnen, nicht bestellen dürfen?

„Adresse“ ist keine gute Beschriftung; Ort und PLZ (die auch zur Adresse gehören) hast du ja schon abgefragt.

Du solltest die übliche Reihenfolge einhalten:

"Straße, Nr."
"PLZ"
"Ort"

Diese 3 Felder gehören zusammen, die könnte man in einem fieldset mit <legend>Adresse</legend> gruppieren – muss man aber nicht.

          <button id="reset"  type="reset">Bestellung Abrechen</button>

Ein Reset-Button macht hier überhaupt keinen Sinn (das tut es in den allermeisten Fällen nicht). Weg damit!

LLAP 🖖

--
„Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann