echo $begrüßung;
Also jetzt readfile oder include benutzen?
include wird verwendet, wenn Dateien eingebunden werden sollen und deren enthaltener PHP-Code ausgeführt werden soll. readfile() nimmt man, wenn der PHP-Code nicht ausgeführt werden soll, beispielsweise dann, wenn man gar keinen erwartet.
$sql = "SELECT * FROM apartments WHERE
id apartments= ".$_GET['id']."";
Benutzereingaben unbehandelt in SQL-Statements zu übernehmen ist fahrlässig. Informiere dich zum Thema SQL-Injection und über die Funktion mysql_real_escape_string() sowie über das Feature Magic Quotes.
Was bewirkt das Anhängen eines Leerstrings? Nichts. Kann ersatzlos gestrichen werden.
$result = mysql_query($sql);
if(mysql_num_rows($result) > 0)
Wenn die Abfrage fehlschlägt enthält $result keinen für mysql_num_rows() gültigen Wert. Dass einige mysql_*()-Funktionen im Fehlerfall ein false zurückliefern solltest du immer beachten und entsprechend behandeln.
Wenn du nur die Anzahl der Datensätze zählen willst, ist es unsinnig, sie komplett abzufragen. Damit mysql_num_rows() ein Ergebnis liefern kann, muss PHP alle Datensätze vom MySQL-Server abholen. Bei jedem mysql_query() wird dies im Hintergrund gemacht, und die Datensätze zwischengespeichert. (Die Fetch-Funktionen greifen auf diesen Zwischenspeicher zu, nicht direkt auf den MySQL-Server.) Um also nicht jede Menge unnötigen Datenverkehr zu haben, empfiehlt es sich, die COUNT()-Funktion MySQLs zu verwenden. Damit hat man eine Ergebnismenge von nur einem Wert in einer Zeile.
header("Location: apartments.php?id=".$_GET['id']."");
Abgesehen davon, dass die meisten Browser die Umleitung auch in der Form verarbeiten, verlangt die Spezifikation für den Location-Header eine vollständige URL.
echo "$verabschiedung $name";