[Mapserver-DE] PHP und UMN Mapserver

Lars-Hendrik Schneider schneider at terrestris.de
Mit Aug 31 15:31:03 CEST 2005


Hallo Herr Hutwelker,

Erich Hutwelker schrieb:

> Hallo Liste,
> ich würde gerne in einem Ausgabetemplate PHP benutzen, also z.B. 
> anstelle template.html ein template.php
> schaffen, in welchem dann bestimmte PHP-Funktionen integriert sind.
> Leider klappt das bei mir nicht, die PHP-Funktionen werden nicht 
> ausgeführt.
> Weiß eventuell jemand wodran das liegt?


der MapServer füllt die im Template vorgegebenen Bereiche ([...]) nur 
aus und liefert die Datei direkt an den Browser des Betrachters aus, 
d.h., die Datei wird (auch mit Endung *.php) nicht mehr vom Webserver 
angepackt und durch den PHP-Parser gejagt. Will man nun dennoch im 
Template etwas vom MapServer ausfüllen lassen und damit z.B. mit PHP 
eine Abfrage starten, bevor die Seite ausgeliefert wird, kann man sich 
eines kleinen Tricks bedienen:

Beispiel:
So kann man im Template einen Metatag einfügen, der so aussieht:

<META HTTP-EQUIV=Refresh CONTENT="0; 
URL=http://meine.domain.de/auswert.php?xcoord=[XWERT]&ycoord=[YWERT]">

Darin lässt man sich vom MapServer die Felder XWERT und YWERT ausfüllen. 
In den Moment, in dem dieses HTML im Browser interpretiert wird, lädt es 
 sofort (CONTENT=0 -> Sekunden, die der Browser wartet...) die PHP-Seite 
vom Server. Die bekommt die Parameter in der URL übergeben (xcoord und 
ycoord sind ja nun gefüllt...). Dann arbeitet das PHP und bekommt die 
Ergebnisse im gleichen Fenster zurück. Achtung -> URL-encoding kann 
Ärger machen ;-) .

Hat bereits des Öfteren funktioniert.


Hth!
Lars-Hendrik Schneider

-- 
**********************************************

terrestris GbR
Lars-Hendrik Schneider
Siemensstr. 8
D-53121 Bonn

T: ++49 (0)228 - 962 899 51
F: ++49 (0)228 - 962 899 57

Internet: www.terrestris.de

**********************************************




This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)