EKKi: Vorher auf include-Funktionen zugreifen?

Beitrag lesen

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:|