echo $begrüßung;
Kontrollausgaben statt Spekulation!
Wenn ich var1 ausgebe mit alert() erscheint "undefined". Und auch im popup erscheint nichtsWo ist denn var1 definiert? In deinem Javascript-Code? Nein. Also kannst du es da auch nicht mit alert ausgeben. var1 ist innerhalb deines Javascript-Kontextes nur ein Teil einer Zeichenkette. var1 bekommt erst dann Bedeutung, wenn diese Zeichenkette von PHP ausgewertet wird, dann wird es zu einem Schlüssel im Array $_GET. Das solltest du dir zur Kontrolle erst einmal ausgeben lassen:
echo '<pre>'; // Zeilenumbrüche der print_r-Ausgabe berücksichtigen
print_r($_GET);
Das war der ultimative Tip, jetzt weiss ich wo der Fehler lag. Bei der Ausgabe der Variablenschlüssel habe ich gemerkt, dass ich, als ich eure ersten Tips ausprobiert habe, unbewusst einen Variablennamen verändert habe, äusserst peinlicher Anfängerfehler. Sorry für die Mühe, die ich euch bereitet habe und vielen Dank für die Hilfe, jetzt klappt es wunderbar.
Ist ein Element mit einem Schlüssel var1 vorhanden? Wenn icht, wie sieht die aufgerufene Adresse aus, die der Browser vom Server angefordert hat? (z.B. im Firefox mit "Seiteninformationen anzeigen")
echo "Sie haben "."$_GET[var1]"." eingegeben!"
Du verknüpfst drei Strings miteinander, um das Ergebnis dieser Operation ausgeben zu lassen. Dieser Zwischenschritt ist nicht notwendig. Du kannst die auszugebenden Werte auch mit Komma getrennt dem echo übergeben. Des weiteren verwendest du var1 als Schlüssel. Da dies ein String ist, ist var1 als solcher zu markieren, sprich in einfache oder doppelte Anführungszeichen zu setzen. PHP lässt diese Nachlässigkeit zwar ungesühnt, aber nicht immer kann eindeutig zwischen einer Zeichenkette und dem Namen einer Konstanten unterschieden werden. Setze das error_reporting auf E_ALL (und schalte display_errors ein), dann bekommst du eine Meldung über diese und andere Nachlässigkeiten. Auch Tippfehler bei Variablennamen lassen sich mit diesen Meldungen finden. Und zu guter Letzt ist es auch nicht sinnvoll, das PHP-Feature "im String nach Variablennamen suchen" zu verwenden, wenn der String nur den Variablennamen enthält. Zwei alternative Schreibweisen wären:
echo 'Sie haben ', $_GET['var1'], ' eingegeben!';
echo "Sie haben {$_GET['var1']} eingegeben!";
Vielen Dank für diese Profitips, werd ich befolgen!
echo "$verabschiedung $name";