ausgefuellter input
Eric Norbert Falbe
- php
Ich moechte bei einem Eingabefeld schon vor der Eingabe eine vorgefertigte Eingabe dem Benutzer als Option anbieten. Folgendes habe ich probiert:
echo '<label>Benutzername: <input type="text" name="Benutzername" id="'.$row['Name'].'">'.$row['Name'].'</input></label>';
Aber mit ID oder zwischen den input-Klammern klappt es nicht. Der Name erscheint hinter dem Eingabefeld.
Wie muss ich es machen, damit der Name schon im Eingabefeld ist?
Hallo,
Ich moechte bei einem Eingabefeld schon vor der Eingabe eine vorgefertigte Eingabe dem Benutzer als Option anbieten. Folgendes habe ich probiert:
echo '<label>Benutzername: <input type="text" name="Benutzername" id="'.$row['Name'].'">'.$row['Name'].'</input></label>';
der Vorgabewert ist der Wert des value-Attributes, siehe SELFHTML, <http://de.selfhtml.org/html/formulare/eingabe.htm#felder_vorbelegung@title=Textvorbelegung bei einzeiligen Eingabefeldern>. Wie man das label-Element verwendet, steht im Abschnitt <http://de.selfhtml.org/html/formulare/strukturieren.htm#label@title=Label für Elemente>
Wie muss ich es machen, damit der Name schon im Eingabefeld ist?
Da Deine Variable Zeichen enthalten könnte, die im HTML-Kontext Probleme bereiten könnten, solltest Du diese mit htmlspecialchars() behandeln. Somit kommen wir zu:
echo '<label for="Benutzername">Benutzername:</label><input type="text" name="Benutzername" id="Benutzername" value="', htmlspecialchars($row['Name']), '">';
Falls Du XHTML verwendest, solltest Du das input-Element entsprechend schließen:
echo '<label for="Benutzername">Benutzername:</label><input type="text" name="Benutzername" id="Benutzername" value="', htmlspecialchars($row['Name']), '" />';
Lesbarer wird es durch Verwendung der Funktion printf():
# %s steht in der Formatzeichenkette für einen Platzhalter, der durch eine
# Zeichenkette ersetzt wird
$format = '[code lang=html]<label for="Benutzername">Benutzername:</label><input type="text" name="Benutzername" id="Benutzername" value="%s" />
~~~';
# Gebe die Formatzeichenkette aus, wobei der Platzhalter durch den
# kontextgerecht aufbereiteten Inhalt Deiner Variablen ersetzt wird.
printf ($format, htmlspecialchars($row['Name']));[/code]
Freundliche Grüße
Vinzenz