Mahlzeit Sammy,
Naja, soo ungeschickt ist das nicht.
Doch, ist es.
Eine einzubindende Datei ist entweder ein - mehr oder weniger - statisches "Ich gebe direkt irgendwas aus" *ODER* eine Sammlung/Bibliothek von Funktionen ... aber *NIEMALS* beides.
Letzteres kannst Du dann oben im Kopf von Dateien einbinden, die diese Funktionen benötigen - ohne dass bereits Output erzeugt wird, der das Layout zerschießt oder eine Weiterleitung per header() unmöglich macht.
Und Ersteres kannst Du *an genau der Stelle*, an der Du die Ausgabe an den Browser schicken möchtest, direkt einbinden, ohne Dir weitere Gedanken machen zu müssen.
Ich wollte einen include- Baustein kreiren, der das Formular anzeigt und beim zweiten Durchlauf - also wenn submit gedrückt wurde - die Prüfung und Verarbeitung vornimmt. In diesem Fall ein Mailformular mit Mailversand in einer HTML- Seite.
Was Du wolltest, ist klar. Es ist aber keine gute Idee. Halte Dich - wie bereits gesagt - ans EVA-Prinzip, dann solltest Du eigentlich niemals schwerwiegende Probleme bekommen.
Ganz simpel könnte das z.B. so oder so ähnlich aussehen:
<?php
include('foo.php.inc'); // Diese Dateien enthalten nur Funktionen, die z.B.
include('bar.php.inc'); // für die Eingabeüberprüfung und die Verarbeitung
include('baz.php.inc'); // der Werte benötigt werden
// Eingabe
read_inputs();
// Verarbeitung
if (process_inputs()) {
redirect_to_next_page();
} else {
prepare_error_message();
}
// Ausgabe
include('form.php.inc'); // Diese Datei zeigt das Formular an - falls bei
// der Verarbeitung Fehlermeldungen aufgetreten
// sind, müssen diese natürlich ausgegeben werden
?>
Ggf. wäre auch eine Lösung mit der von suit vorgeschlagenen Objektorientierung sinnvoll - das kommt ganz auf die Komplexität Deiner Skripte an.
MfG,
EKKi
sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|