echo $begrüßung;
Ich brauche wieder mal eure Hilfe: Ich habe ein Formular mit zwei submit-Buttons, der eine heisst "back" mit dem value "zurück", der andere "forward" mit dem value "vor". Die action läuft so, dass beim Drücken des submit-Buttons eine php-Datei aufgerufen wird, auf der festgestellt wird, welcher der beiden submit-Buttons gedrückt wurde und je nachdem wird auf die eine oder die andere Seite weitergeleitet.
Ich sehe bei dir auch diesen typische Anfängerversuch, jedes Teilproblem mit einem eigenen Script lösen zu wollen. Das hat vielleicht den Vorteil, dass der Code im Script recht geradlinig gehalten werden kann, aber auch den Nachteil des Hin- und Her-Weiterleitens, bei dem gleich wieder mehrere PHP-Aufrufe ausgeführt werden müssen und dabei neue Probleme beim Variablendurchreichen entstehen.
if ($_POST[back]==zurück) {
Wenn 'back' keine Konstante sondern ein String ist, sollte er auch als String notiert werden, also mit Anführungszeichen darum.
Es wird also festgestellt, ob die Variable von der Formularseite den Wert zurück hat oder nicht. Das Problem ist nun, wenn ich zum zweiten Mal auf diese Seite komme und nun den anderen Button drücke, hat ja die Variable $_POST[back] trotzdem schon den Wert "zurück", da dieser Wert stets mit hidden-feldern weitergegeben wird.
Das liegt dann wohl eher an der Weitergabe der Werte. Warum übergibst du diesen Wert denn in einem Hidden-Feld? Der wird doch nur für die Abarbeitung dieses einen Requests gebraucht, um zu unterscheiden, welcher Button gedrückt wurde.
Kann mir jemand sagen, wie ich den Inhalt dieser post-Variable löschen kann? Ich habs schon mit unset() probiert (direkt in der obigen Funktion), aber das funktioniert nicht.
Variablen existieren immer nur im aktuellen Script. Ein unset wirt sich ebenfalls nur auf die aktuelle Instanz aus. Es hilft nicht, die Weitergabe eines Wertes damit verhindern zu wollen, weil nichts weitergegeben wird, das man nicht selbst irgendwo explizit notiert hat.
Das Array $_POST wird von PHP bei jedem Request mit den Daten des Requests gefüllt. Du kannst nur dafür sorgen, dass dieser Wert nicht im Request auftaucht, wenn du ihn nicht in $_POST stehen haben willst.
echo "$verabschiedung $name";