Table of Contents

GET-Variablen übergeben

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:

  • E-Mail: f.meyer@example.org
  • Name: Meyer
  • PLZ: 12345

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.

  1. Das Formular wird ausgefüllt
  2. Das Formular wird gesendet (submit)
  3. Die Eingaben werden ausgelesen, geprüft und wenn i.o. in die Platzhalter in den Sendevorlagen und in den Erfolgtext eingesetzt
    (Ist hier Redirect aktiviert, werden in diesem Feld alle Platzhalter gelöscht und keine Daten eingetragen)
  4. Die Daten werden in die DB geschrieben wenn erlaubt (Formularergebnis speichern )
  5. Der Prozess sieht nach, ob ein Script abgearbeitet werden muss (Vorlagen → PHP-Funktion:)
  6. Der Prozess verzweigt je nach Einstellung (bei Erfolg: [ ] Text / HTML || [ ] Redirect)


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.

Script:

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

  • $phpwcms['allow_ext_init'] = 1;


deutsch/phpwcms-system/artikel/contentparts/formular/spezielle-anwendungen/get-variablen.txt · Last modified: 2018/06/03 18:08 (external edit)
www.planmatrix.de www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0