Felix Riesterer: Warnung! Beware! Uwaga!

Beitrag lesen

Lieber MoaByter,

  1. ohne POST-Übergabe wird das Anmelde-HTML eingelesen (mit exit),
  2. Dateiupload für Profil-Erstellen mit Avatar (kein exit, die Datenverabeitung folgt),
  3. Das Einlesen der übergebenen Profil-Daten der Nutzer (mit exit),
  4. Das Speichern der übergeben Daten der Beiträge der Nutzer, mit exit, denn dann ist Schluss.

wenn Du exit verwenden musst, dann hat Dein Programm ein Problem mit unpassenden Strukturen. Nach speziellen header()-Aufrufen lasse ich mir das noch gefallen, aber ansonsten sollte Dein Programm immer regulär zuende laufen dürfen.

$buffer = '<!doctype html><html>...</html>';
$redirect = '';
$send_data = true;

...

if (!empty($redirect)) {
  header('Location: '.$redirect);
  $send_data = false;
}

if (array_key_exists('js', $_GET)) {
  $buffer = 'window.print();';
  header('Content-Type: text/javascript; charset=utf-8');
}

if ($send_data) {
  echo $buffer;
}

// end of program

Dann können nur noch PHP-Fehlermeldungen dafür sorgen, dass die Header schon gesendet wurden und die Weiterleitung nicht mehr klappt. Aber dann hast Du eben PHP-Fehler, die behoben werden müssen, was an sich bereits ein anderes Problem ist.

Liebe Grüße

Felix Riesterer