Hallo thron,
nikosch77 hat Recht. Was machst du, wenn sich ein Benutzer umbenennt? Dann musst du zweimal, vielleicht nochmehr Änderungen in der Datenbank durchführen. Das führt mit der Zeit zu Fehlern und daher speichert man bei "Verknüpfungen" (sogenannte Referenzen) auf andere Datensätze, nur deren Primärschlüssel ab.
Beispiel:
Code:
users
id | name
16 | Peter
85 | Franz
news
id | text | author
93 | Es war einmal | 85
94 | Damals | 85
(ich habe extra verschiedene IDs gewählt, damit du die Zusammenhänge klarer siehst - hier hat Franz beide News geschrieben).
Nun kannst du mit einer JOIN-Operation in einem SELECT gleichzeitig die News und den Namen (!) des Authors herausfinden:
Code:
SELECT news.*, users.name FROM news INNER JOIN users ON users.id = news.author
Zugegeben braucht man einige Zeit, um da reinzukommen, es gibt aber eine Menge guter Tutorials dazu. Stichwort
Normalisierung und
Joins. Es steht bei dir, ob du dich weiterentwickeln möchtest oder lieber deine Datenbank mit doppelten, schwer zu wartenden Daten vollstopfst. Bei letzterem musst du dich allerdings hauptsächlich selbst supporten (warum sollten wir dein fehlendes Engagement schließlich mit erhöhtem Support wieder wettmachen?)
Weiterhin musst du dir darüber klar werden, das einzig was im HTML-Formular drinnesteht, auch gesendet wird. Einfach so $_POST["user[username]"] raten wird dich nicht weiterführen. Benutze print_r($_POST), um dir anzuzeigen, was wirklich gesendet wurde (du siehst dann Schlüssel und Wert).