Hello,
Habe ein Formular das mehrere Submit-Buttons hat (Bearbeiten, Löschen etc.).
Das problematische bei der Auswertung ist, dass die Formularauswertung zuerst in die index.php verzweigt, die dann in einer anderen PHP-Datei eine Funktion aufruft. Also kann ich nicht mit isset() abfragen ob die Variablen der Buttons gesetzt sind.
Ich würde mal vermuten, dass eine solide Planung da helfen könnte. Struturanalyse...
Werden von der index.php auch noch Frames aufgerufen? Dann wir es nämlich hässlich, bzw. h´geht nicht mehr vernünftig ohne Session.
Dass die Funktion in einer anderen PHP-Datei steht, ist bei größeren Projekten absolut normal. Sowas nennt man auch Librairies oder Units oder Extensions... Include_once() ist dein Freund. Die Formularverwaltung kann man auch zuladen.
+--const.inc.php
|
index.php----func.inc.php
|
Form-Switch
(Workflow)
|
+------------+-------V-------+--------------+
| | | | +------+
Form1 - - - -Form2 - - - - - Form3 - - - - -Form4 ->|Rights|
| | | | +------+
======== Corporate Behavior Module ==============> +------+
| | | | |Screen|
| | | | +------+
+--------+ | | +------+
| | | |
+--V---V---------------V-------V--+
| dbms |
+---------------------------------+
Du kannst entweder eine Matrix mit den Buttons und den dadurch ausgelösten Funktionen "fest verdrahtet" im Form-Switch unterbringen, jedem Form ein (gleichnamiges) Array mit den Buttons und Funktionen geben, oder die Formularsteuerung nebst User-Rechteverwaltung in eine Tabelle packen.
ID_Form
ID_Button
Btn_Func
Check_before
Task
check_after
...
Da sind Deiner Fantasie keine Grenzen gesetzt. Dir Form-Module sollten nur selber keinerlei Ausgaben tätigen und auch keine Kommunikation mit irgendwem aufnehemen, das ist Sache des "einheitlichen Verhalten Moduls".
Das wird durch die Paramerter aus den Formularen nur gesteuert.
Liebe Grüße aus http://www.braunschweig.de
Tom
[ Computer-Camp für PHP-Anwender in den Sommerferien. Programmieren,
Sport, Fun, Fete. Teilnehmermindestalter Gruppe 1: 14 Jahre
Mindestalter Gruppe 2+3 18 Jahre, Info bei mir ]
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen