Mailinglisten-Archive |
andreas kempf aka 'amalesh' wrote: > bekannterweise kann ja statt eines submit-buttons (a) auch ein grafik > (b) verwendet werden: > > a. <input type=submit name=button value=ok> > b. <input type=image name=button src=ok.gif> > > Beim submitten von (a) habe ich auf der nächsten seite die variable > $button, beim submitten von (b) habe ich hingegen $button_x und > $button_y. > > Nun meine frage: Gibt es einen trick, "irgendwie" auf der folgeseite > aus $button_x die variable $button zu machen, ohne dass ich weiss, ob > die variable nun $button_x oder $tolle_sache_x heisst? Hallo Armin, leider gibt es keinen Konfigurationsparameter, der das Verhalten von PHP verändert. PHP liefert stets bei einem grafischem Submit-Button die X- und Y-Koordinaten, importiert im obigem Beispiel die Variablen $button_x und $button_y. Du kannst Dir behelfen, indem Du einige Vereinbarungen triffst. Ich definiere stets "jeder Submit-Button heißt submit_irgendwas". Derartiges vorrausgesetzt, läßt sich $GLOBALS leicht parsen. Die komfortable Variante sieht so aus: $new = array(); reset($GLOBALS); while (list($k, $v)=each($GLOBALS)) if (eregi("^(submit_[a-z_]+)_x$", $k, $regs)) { $new[$regs[1]]["x"]=$v; $new[$regs[1]]["y"]=$GLOBALS[$regs[1]."_y"]; #unset($GLOBALS[$regs[1]."_x"]); #unset($GLOBALS[$regs[1]."_y"]); } if (is_array($new) && 0!=count($new)) { reset($new); while (list($k, $v)=each($new)) $$k = $v; unset($new); } Verzichtet man auf die Erhaltung der X- und Y-Koordinaten und die Löschung von $sumbit_x, $submit_y, wird der Code etwas kürzer, weil direkt variable variables verwendet werden können: reset($GLOBALS); while (list($k, $v)=each($GLOBALS)) if (eregi("^(submit_[a-z_]+)_x$", $k, $regs)) $$regs[1]=$v; Ulf -- Ulf Wendel NetUSE Kommunikationstechnologie GmbH Siemenswall, D-24107 Kiel, Germany Fon: +49 431 386435 00 -- Fax: +49 431 386435 99
php::bar PHP Wiki - Listenarchive