echo $begrüßung;
echo "<td bgcolor=red><input class=formelement name=strasse type=text size=20 value=$row[strasse]></td>";
Allerdings weiss ich noch immer kein Lösung. Wieso stellt mir das Formularfeld die Nummer nicht dar? Ohne Leerzeichen im Datensatz funktioniert es natürlich.
Weil du die Attributwerte nicht in "" setzt. Ein Attributwert hört nämlich sonst am ersten Leerzeichen auf. Außerdem hast du hier wieder nicht den Kontext beachtet. Der HTML-Kontext verlangt, dass die HTML-eigenen Zeichen gesondert zu notieren sind. Wann immer du irgendeinen Wert (besonders variable Werte aus anderen Quellen) in einem bestimmten Kontext bringst, muss dieser Wert dem Kontext entsprechend behandelt werden. PHP hilft dir für den HTML-Kontext, indem es die Funktion htmlspecialchars() bereitstellt. Beispiel:
printf('<td bgcolor="red"><input class="formelement" name="strasse" type="text" size="20" value="%s"></td>',
htmlspecialchars($row['strasse']));
Weiterhin solltest du beachten: Why is $foo[bar] wrong?
echo "$verabschiedung $name";