Ich habe ein Script geschrieben, in dem am Anfang die Variablen gesetzt werden:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10: | $uri = $PHP_SELF."?lang=".$lang;
if(@isset($top)){
$uri .= "&top=".$top;
}
if(@isset($sub)){
$uri .= "&sub=".$sub;
}
if(@isset($cmd)){
$uri .= "&cmd=".$cmd;
} |
Das Problem: wenn die Variable cmd schon gesetzt ist und ein Link zu einer anderen Funktion führt, die auch die Variable $uri zur Navigation nutzt und per cmd auf eine andere Funktion zugreift, kommt ein "Doppel-cmd" raus. Beispiel:
Derzeitiger URL:
http://192.168.100.56/index.php?lang=0&cmd=add&exec=FALSE
Der Link: echo '
Link';
Heraus kommt:
http://192.168.100.56/index.php?lang=0&cmd=add&cmd=edit&exec=FALSE
Nun meine Frage: wie lässt sich das Problem über Regular Expressions lösen? Die erste Variable cmd sollte automatisch gefiltert werden, wenn der Link (
http://192.168.100.56/index.php?lang=0&cmd=add&cmd=edit&exec=FALSE) aufgerufen wird, sodass "$cmd" nun "edit" beträgt.
Edit: Hat sich erledigt ... man auch mit $uri = str_replace("&cmd=".$cmd,"",$uri); das ändern ...
---
http://sylver-web.de
Weisheiten:
- Das Wesen der Dinge hat die Angewohnheit, sich zu verbergen. - Heraklit (griech. Philosoph)
- Wären alle Menschen gleich, würde im Prinzip einer genügen. (unbekannt)