Code-Schnipsel QUERY STRING eval fff: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(+code) |
K (→Erklaerung: +email weg) |
||
Zeile 20: | Zeile 20: | ||
=Erklaerung= | =Erklaerung= | ||
* aus dieser URL (POST/GET egal) | * aus dieser URL (POST/GET egal) | ||
− | ** <tt> NODE=512&HOST=silber2&LOCA=Steinbr&GPSX=11.3313&GPSY=50.9934&MAIL= | + | ** <tt> NODE=512&HOST=silber2&LOCA=Steinbr&GPSX=11.3313&GPSY=50.9934&MAIL=bla%40blub.org&PHON=0110%2F123456&MENU=expert&GOGO=%DCbernehmen"</tt> |
* wird ein | * wird ein | ||
− | ** <tt>NODE="512"; HOST="silber2"; LOCA="Steinbr"; GPSX="11.3313"; GPSY="50.9934"; MAIL=" | + | ** <tt>NODE="512"; HOST="silber2"; LOCA="Steinbr"; GPSX="11.3313"; GPSY="50.9934"; MAIL="bla@blub.org"; PHON="0110/123456"; MENU="expert"; GOGO="Übernehmen"</tt> |
* mit eval wird das ganze dann uebernommen und steht zur Verfuegung | * mit eval wird das ganze dann uebernommen und steht zur Verfuegung |
Version vom 21. Juli 2007, 12:10 Uhr
Code
fkt_read_browsers_query_string () { # SENS: read and sanitize/convert query-string to useable vars # (e.g. ?A=1&B=2 changes to correct setted vars A and B) # ARG1: string, query string local QUERY_STRING="$1" test -z "$QUERY_STRING" return 1 IFS=\& set ${QUERY_STRING%%[^%&=+-:@-_a-z~]*} unset IFS VARS="$(echo $* | sed -e 's/ /"; /g' -e 's/=/="/g' -e 's/$/"/g')" VARS="$(httpd -d "$VARS")" eval "$VARS" }
Erklaerung
- aus dieser URL (POST/GET egal)
- NODE=512&HOST=silber2&LOCA=Steinbr&GPSX=11.3313&GPSY=50.9934&MAIL=bla%40blub.org&PHON=0110%2F123456&MENU=expert&GOGO=%DCbernehmen"
- wird ein
- NODE="512"; HOST="silber2"; LOCA="Steinbr"; GPSX="11.3313"; GPSY="50.9934"; MAIL="bla@blub.org"; PHON="0110/123456"; MENU="expert"; GOGO="Übernehmen"
- mit eval wird das ganze dann uebernommen und steht zur Verfuegung