Tach!
Ist es möglich, das $_POST-array händisch zu füllen etwa für die Weiterleitung nach einem Logout?
Das $_POST-Array (und auch die anderen) wird von PHP angelegt, nachdem der Webserver den Request zum Abarbeiten übergibt und bevor der Script-Code verarbeitet wird. Am Script-Ende wird es wie alle anderen Variablen aufgeräumt. Abgesehen davon kannst du es auch beschreiben - aber eben nur für deine aktuelle Requestbearbeitung.
Leider ergibt ein Test, dass die erste naiv gedachte Variante nicht funktioniert.
Du kannst keine Variablen von Script zu Script mitnehmen, auch $_* nicht. Lediglich die Session-Variablen werden aufgehoben.
$_POST['action'] = 'logout';
header('Location: http://'.$hostname.($path == '/' ? '' : $path).'/index.php');
Mit dem Location-Header weist du den Browser an, einen neuen Request zu stellen. Es ist nicht vorgesehen, dass der Webserver den neuen Request irgendeinem alten Request zuordnen kann. Wenn du Daten hinüberretten willst, musst du sie dem Browser übergeben, aufdass er sie beim neuen Request wieder mitsendet. Allerdings wüsste ich auch nicht, wie man den Browser dazu bringen kann, einen POST-Request mit vordefinierten Parametern zu stellen - abgesehen von Javascript.
Der Mechanismus, Daten zwischen den Requests auf dem Server zu halten, nennt sich Session. Er beruht darauf, dass der Browser ein eindeutiges Identifikationsmerkmal mitsendet - üblicherweise die Session-ID.
dedlfix.