Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
Seiten: 1
#1 15. März 2013 11:54
- Exceeder
- hat von CMS/ms gehört
- Registriert: 15. März 2013
- Beiträge: 3
FormBuilder Formularfelder vorausgefüllt via GET-Parameter
Hallo,
ich suche nach einer Möglichkeit Formularfelder via Übergabe über GET-Parameter an bestimmten Stellen automatisch vorauszufüllen. Konkret geht es um die Übergabe von z.B. einer Vertragsnummer.
Ich habe nun seit mehreren Stunden rumprobiert, finde aber keine zufriedenstellende Lösung. Das ganze sollte irgendwie ohne JavaScript funktionieren. Ich habe mir bereits benutzerdefinierte Tags angelegt, mit welchen man an die GET-Parameter dran kommt:
if(isset($params['var']) && $params['var'] != '')
echo isset($_GET[$params['var']]) ? $_GET[$params['var']] : '';
Ein Testformular ist schnell erzeugt: Textfeld anlegen und z.B. senden an E-Mail Empfänger. Beim Textfeld kann man unter "Erweiterte Einstellungen" unter "Standardwert für das Feld:" einen Wert eintragen. Leider wird das aber nicht mit smarty evaluiert.
Ist das irgendwie machbar, wenn ja wie?
Die URL sollte dann z.B. so aussehen:
http://domain.de/seitenalias/contracts_number=V-123456789-1
Der Wert von "contracts_number" landet dann im Formular (ich habe die Separatoren auf / und nicht auf & gestellt und habe mod_rewrite). Der Wert wird über mein benutzerdefiniertes Tag problemlos gefunden. Nur ich bekomme ihn nicht in das Formular.
Beitrag geändert von Exceeder (15. März 2013 11:55)
Offline
#2 15. März 2013 13:02
- czarnowski
- kennt CMS/ms
- Registriert: 18. Oktober 2012
- Beiträge: 457
Re: FormBuilder Formularfelder vorausgefüllt via GET-Parameter
Die globalen Variable _get kann man mit Smarty direkt nutzen - die werden von Smarty selbst einfach durchgeleitet.
http://www.smarty.net/docs/en/language. … smarty.tpl
Allerdings - die direkte Nutzung solcher Variable ohne Filterung ist gefährlich da das das typische Einfallstor für Schadcode ist.
Offline
#3 15. März 2013 13:19
- Exceeder
- hat von CMS/ms gehört
- Registriert: 15. März 2013
- Beiträge: 3
Re: FormBuilder Formularfelder vorausgefüllt via GET-Parameter
Hallo,
danke für den Link. Leider hilft der aber noch nicht wirklich weiter. GET-Parameter sind nur dann ein Einfallstor, wenn sie ungefiltert in die Webseite gelangen. Deswegen mein benutzerdefinierter Tag. Da kann ich entsprechende Prüfungen durchführen und auch escapen. Aber das Tag ist auch nicht das Problem. Die Frage ist, wie ich den Wert in den FormBuilder bekomme.
Mit JavaScript geht das irgendwie, aber das ganze soll auch ohne JS funktionieren.
Offline
#4 15. März 2013 13:31
- nicmare
- Server-Pate
- Registriert: 15. Dezember 2010
- Beiträge: 1.314
- Webseite
Re: FormBuilder Formularfelder vorausgefüllt via GET-Parameter
das ist sehr simpel.
{FormBuilder form='sample_form' value_FIELDNAME=$smarty.get.parameter}
oder
{FormBuilder form='sample_form' value_fldNUMBER=$smarty.get.parameter}
Anwendung:
www.domain.de?parameter=test
Beitrag geändert von nicmare (15. März 2013 13:32)
Meine Projekte:
Dashcam-Test | Babyphone-Testberichte | Türspionkameras
Offline
#5 15. März 2013 13:48
- Exceeder
- hat von CMS/ms gehört
- Registriert: 15. März 2013
- Beiträge: 3
Re: FormBuilder Formularfelder vorausgefüllt via GET-Parameter
Hallo,
na da soll mal einer drauf kommen... Funktioniert aber, danke.
Beitrag geändert von Exceeder (15. März 2013 13:48)
Offline
#6 15. März 2013 14:07
- nicmare
- Server-Pate
- Registriert: 15. Dezember 2010
- Beiträge: 1.314
- Webseite
Re: FormBuilder Formularfelder vorausgefüllt via GET-Parameter
steht doch in der hilfe vom modul!
Meine Projekte:
Dashcam-Test | Babyphone-Testberichte | Türspionkameras
Offline
Seiten: 1