[Mapserver-DE] PHP und UMN Mapserver

Lars-Hendrik Schneider schneider at terrestris.de
Die Aug 30 14:14:25 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
Dipl.-Geogr. Lars-Hendrik Schneider
Siemensstr. 8
D-53121 Bonn

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

Internet: http://www.terrestris.de
E-Mail: schneider at terrestris.de

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




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