Guten Abend, ist zwar ein bisschen OT, aber das muss ich an dieser Stelle los werden:
Bei der Implementierung von QUERY_STRING_DECODED wurde m.E. nicht zu Ende gedacht und kann in vielen Fällen m.E. nicht sinnvoll verwendet werden.
Angenommen ich will
- Firma: 2&2 Internet
- Tel:1234
- Fax:2345
übergeben, so muss ich das folgendermaßen encoden (man beachte das & Zeichen):
http://server/pfad/maske?OpenForm&Firma=2%262%20Internet&Tel=1234&Fax=2345QUERY_STRING ist dann korrekterweise: "OpenForm&Firma=2%262%20Internet&Tel=1234&Fax=2345" und ich kann diesen mit
parts:= @URLDecode("Domino";@Explode(QUERY_STRING;"&"))
in eine Liste (Inhalt: name=wert) zurückverwandeln. ein
sanityfiler:="Firma":"Tel":"Fax"
@Transform(parts;"x";@if(@left(x;"=")=sanityFilter;@SetField(@left(x;"=");@right(x;"="));""))
könnte dann die Inhalte auf die Felder verteilen. (Achtung: Formel ist nicht getestet)
Jetzt zum Problem:
QUERY_STRING_DECODED dekodiert den ganzen Query-String, was m.E falsch ist. Als Ergebnis bekommt man "OpenForm&Firma=2&2 Internet&Tel=1234&Fax=2345" und man kann nicht mehr eindeutig feststellen was als Value für Firma übergeben wurde...
Ein weiterer Fallstrick: Will man auf eine CGI-Variable zugreifen, so muss ein entsprechend benanntes Feld in der Maske vorhanden sein (Text,Computed for Display und per Hideformel versteckt)
Gruß
Roland