laß ob_start etc. weg.
Du mußt schlicht und ergreifend die Auswertung des POST-Arrays VOR dem html-Teil machen.
					Du mußt schlicht und ergreifend die Auswertung des POST-Arrays VOR dem html-Teil machen.
<?php
$gueltige_eingabe = true;
$fehlermeldung_vorname = "";
$fehlermeldung_nachname = "";
if ($_POST["weiter"] == "Absenden") {
    if ($_POST["vorname"] == "") {
        $fehlermeldung_vorname = "Bitte geben Sie Ihren Vornamen ein!";
        $gueltige_eingabe = false;
    }
    if ($_POST["nachname"] == "") {
        $fehlermeldung_nachname = "Bitte geben Sie Ihren Nachnamen ein!";
        $gueltige_eingabe = false;
    }
    if ($gueltige_eingabe == false) {
        if($fehlermeldung_vorname != "") {
            echo $fehlermeldung_vorname . "<br>";
        }
        if($fehlermeldung_nachname != "") {
            echo $fehlermeldung_nachname . "<br>";
        }
    } else {
        header("Location: Test2.php");
    }
}
?>
<html>
<head>
<title>Teilnehmer</title>
</head>
<body>
<form action="<?php print $_SERVER["PHP_SELF"]; ?>" method="post">
    Vorname: <br><input name="vorname" type="text" value="<?php print htmlspecialchars($_POST["vorname"]); ?>"><br><br>
    Nachname: <br><input name="nachname" type="text" value="<?php print htmlspecialchars($_POST["nachname"]); ?>"><br><br>
    <input type="submit" name="weiter" value="Absenden" >
</form>
</body>
</html>
<?php
print_r($_POST);
?>
<form action="<?php print $_SERVER["PHP_SELF"]; ?>" method="post">
<?php
print_r($_POST);
?>
<form action="<?php print $_SERVER["PHP_SELF"]; ?>" method="post">
<form action="Test2.php" method="post"> 
<form action="<?php print $_SERVER["PHP_SELF"]; ?>" method="post">
header("Location: Test2.php"); 
<form action="Test2.php" method="post"> 
<form action="<?php print $_SERVER["PHP_SELF"]; ?>" method="post">
$_SESSION['vorname'] = $_POST["vorname"];
$_SESSION['nachname'] = $_POST["nachname"]; 
Kommentar