Mailinglisten-Archive |
Steffen Kother schrieb: > Hallo Leute, > > würde gern mal wissen, wie ihr die verschiedenen Formularaktionen > auswerten würdet bzw. wie es sich optimieren liese. > > PHP-Version ist 4.x.y und es kommt in diesen/m Formular(en) kein > Javascript zur Anwendung. > > Ich habe ein Basisskript "step.1.create.php", das mir mir zu Beginn ein > (leeres) Formular "Schritt 1" liefert. In diesem Formular gibt es ein > für die Anwendung allgemeines Menü: > > "Zurück" = $_POST['action']['back']: > verlässt die Anwendung mittels header() > > "Neueingabe" = ($_POST['action']['clear']: > sendet das Formular an das Skript und leert $_POST und gibt wieder > "Schritt 1" > aus > > "Laden" = $_POST['action']['loadlocal']: > ruft das Skript auf, lädt und gibt das Formular für den Dateiupload > aus(, von > dort aus wird wieder das Skript aufgerufen und die Datei ausgewertet > und das > vorgefüllte Formular "Schritt 1" ausgegeben) > > "Speichern" = $_POST['action']['savelocal']: > sendet das Formular an das Skript ruft die Downloadfunktion auf und > fordert > sofern Datenvorhanden zu Download auf, das Formular "Schritt 1" > bleibt im > Hintergrund unverändert > > "Drucken" = $_POST['action']['print']: > sendet das Formular an das Skript und die Daten werden an das > Druckformular > weiter- und ausgegeben. > > "Sichern" = $_POST['action']['save']: > sendet das Formular und übergibt die Daten zur Validierung und > Speicherformular was sind diese $_POST['action']'s denn? submit-Knöpfe oder Checkboxen oder Radioa-Knöpfe? soll immer nur eine Bedingung erfüült sein oder können auch mehrere zugleich stimmen? > Bei mir sieht die Überprüfung auf die entsprechende "Action", das > Skript, so aus: > > <?php > > require_once('../../../config/config.main.inc.php'); > require_once('../../../config/config.reklamation.inc.php'); > require_once('../../../library/commonPlus.class.inc.php'); > > $schritt1 =& single('common'); > $schritt1 -> reqClassesPlus('template:mysql:reklamation:step1', false); > > if (!empty($_POST['action']) ) { > > $action = $_POST['action']; > > if (!empty($action['back']) && empty($_POST['return_from_print'])) { > > header('Location: > http://nbkother/rekl_v2_test/modules/vertrieb/reklamationen'); > exit; > > } elseif (!empty($action['clear'])) { > > $_POST = array(); > > } elseif (!empty($action['savelocal'])) { > > $schritt1 -> reklamation -> > saveFormLocal('Reklamation_Schritt_1'); > $_POST['action'] = ''; > > } > } > > if (empty($_POST['action']) || (empty($action['print']) && > empty($action['save']))) { > > $schritt1 -> step1 -> setupPageStep(&$schritt1, 'Schritt 1'); > $schritt1 -> step1 -> setupForm(&$schritt1); > $schritt1 -> template -> display('Schritt 1'); > > } elseif (!empty($action['loadloacal'])) { > > $schritt1 -> reklamation -> loadFromLocal(); > > } elseif (!empty($action['print'])) { > > $schritt1 -> reklamation -> printStep(&$schritt1); > > } elseif (!empty($action['save'])) { > > // Validierung und Speicherung der Daten in Datenbank bzw. Ruckkehr > zur Eingabe > > } > ?> warum fragst du mal $action und mal $_POST['action'] ab? das ist etwas verwirrend hier ... > Wie würdet ihr die Abfrage(n) machen? Würde mich über eure Meinungen > freuen. <?php $action = empty($_POST['action']) ? 'default' : key($_POST['action']); switch ($action) { case 'print' : // ... break; case 'save' : // ... break; case 'loadlocal' : // ... break; case 'default' : default : // ... break; } ?> oder einfach: $schritt1->doAction($action); ;-) -- Sebastian Mendel www.sebastianmendel.de
php::bar PHP Wiki - Listenarchive