echo $begrüßung;
ggf solltest du das ganze für dich leichter verständlich NICHT trinär schreiben:
if (isset($_GET["links"])) {
$links = $_GET["links"];
}
> Aber warum soll der Inhalt von $\_GET["links"] kopiert werden?
> Hier wird immer sehr deutlich darauf hingewiesen, dass dies die Herkunft der Daten verschleiere - außerdem ist es unnötig.
Nun ja, hier sollte es offenbar dazu dienen, sicherzustellen dass ein Wert vorhanden ist, auch wenn er nicht per links-Parameter an der URL übergeben wurde. Es fehlte im Prinzip nur der Alternativwert.
Bei suits Vorschlag fehlte er ebenfalls, was dazu führt, dass beim Seitenaufruf ohne links-Parameter das $links nicht gesetzt wird. Nachfolgende Lesezugriffe ergäben Notice-Meldungen, wäre beim error\_reporting das E\_NOTICE-Bit gesetzt.
Mein Vorschlag sieht so aus:
switch (isset($\_GET['links']) ? $\_GET['links'] : '') {
default:
case "Start":
include "start.php";
break;
case ...:
...;
}
Noch zwei Anmerkungen: Die switch-Anweisung war im OP fehlerhaft eingerückt. Das default: ist, so wie es notiert ist, gleichberechtigt zu case "Start":. Letzteres sollte dann auch die gleiche Einrückung haben. include ist keine Funktion, und benötigt keine Klammern um den Dateinamen. Die Klammern machen in dem Fall aus dem String einen berechneten Ausdruck ohne dass es was zu berechnen gab.
echo "$verabschiedung $name";