NAVIGATION
Was soll erreicht werden:
Die Übergabe von eingegebenen Formulardaten in der URL um diese weiterverarbeiten zu können.
Beispiel:
http://example.com/index.php?category01&email={email}&nachname={name}&postleitzahl={plz}
Formelles Ergebnis mit den eingegebenen Daten:
http://example.com/index.php?category01&email=f.meyer@example.org&nachname=Meyer&postleitzahl=12345 #jump47
(Der Anker hier z.B. #jump47 wird automatisch angehängt, wird aber beim auslesen der Variablen ignoriert).
Um GET-Variablen aus dem Formular heraus zu übergeben bedarf es einer grundsätzlichen Überlegung wie das Formular während der Laufzeit arbeitet.
Der Punkt 6. sollte näher betrachtet werden, da hier entschieden wird, wohin das Formular nach abgeschlossener Eingabe verzweigt.
Im Modus Text/HTML können die eingegebenen Formularfeldwerte mit Hilfe der angelegten Feldnamen eingesetzt werden, Z.B. {email} [name} {plz} … . Nur in diesem Modus werden die {Namen} interpretiert.
Im Modus Redirect wird kein Wert an den entsprechenden Platzhalter übertragen, bzw. der Platzhalter vorher vom System gelöscht.
Um trotzdem per “Redirect” Daten aus dem Formular übertragen zu können versenden wir das Formular mit der Einstellung: bei Erfolg: [x] Text oder [x] HTML .
Für die nachträgliche Umschaltung müssen wir ein Script bemühen, das unter Vorlagen in “PHP-Funktion:” eingetragen wird.
Datei: template/inc_script/frontend_init/form_onsuccess_on.php
<?php /********************************************************************************************/ /** * Form script: Field on success: Switch into the mode "Redirct" * * 08.09.2010 (flip-flop) K.Heermann http://planmatrix.de */ /********************************************************************************************/ // ------------------------------------------------------------------------------------------- // obligate check for phpwcms constants if (!defined('PHPWCMS_ROOT')) {die("You Cannot Access This Script Directly, Have a Nice Day."); } // ------------------------------------------------------------------------------------------- function form_onsuccess_on( &$postvar, &$form, &$mail ) { $form['onsuccess_redirect'] = 1; } ?>
So wird erreicht, das die Feldwerte in die Platzhalter eingesetzt werden und das Formular umgeleitet wird. Wir bekommen eine saubere URL mit eingebetteten Werten.
<note warning> Externe Variablen wie GET-Variablen sollten nie direkt ausgeben, geschweige denn als richtig oder gültig angesehen werden. Diese Variablen müssen beim Empfang nach allen Regeln der Kunst auf Richtigkeit geprüft werden !!
Siehe: Gefahren von Außen
Ist man sich von der programmiertechnischen Seite her nicht zu 100% sicher sollte man dieses Verfahren nicht verwenden !!
</note>
Docu: –
Forum: –
Autor: K.Heermann (flip-flop) (08.09.10)
CMS-Version: >= V1.4.1 r282
Version: V1.0 08.09.10
Bedingung: → /config/phpwcms/conf.inc.php