# StattBuchung Hilfezentrum : PHP-Client

Created by Benedikt Wismans, last modified by Thomas Mack on Nov 26, 2018

## Beschreibung

Alternativ zur Java-Implementierung baut diese Implementierung auf PHP auf und kann so mit nur minimalem Konfigurations- und Installationsaufwand eingesetzt werden.

Die wichtige Datei ist client.php welche die requests samt Authentifizierung realisiert. app.php ist nur ein Hinweis darauf wie client.php zu verwenden ist.

Da die CURL-Bibliothek die Session-Cookies und damit das Session-Handling nicht automatisch realisiert ist das in client.php explizit gemacht. An diesen Stellen sollte NICHT herumgeschraubt werden, da ist der Tomcat etwas zickig.

client.php

app.php

Eine Beispielimplementierung mit etwas mehr Funktionen ist hier zu sehen.

Dabei wird auf eine Basis von Templates aufgesetzt,

Die Ordnerstruktur sieht folgende Logik vor:

Root:

fonts

fontawesome-fonts

style

bidat.css

bootstrap.css

font-awesome.min.css

templates

anmeldeformular.inc

footer.inc

header.inc

nav_liste.inc

searchbox.inc

table_foot.inc

table_head.inc

table_row.inc

teaser_foot.inc

teaser_head.inc

teaser_row.inc

termindetails.inc

app.php

index.php

config.ini

template.php

Das gesamte Projekt mit allen Unterverzeichnissen kann hier heruntergeladen werden:

phpClient.zip

## Einbindung via iFrame

Wenn die PHP-Seite via iFrame in die eigene Webseite eingebunden wird, dann müssen die URL-Parameter an den iFrame durchgereicht werden.

Dazu dienst folgendes Java Script, HTML-Konstrukt:

URL Parameter an Iframe weiterleiten

    <head>
    ... andere Head-Elemente

    <script type='text/javascript'>
    		function updateIframe() {
    			var loc = window.location.search;
    		    iframe = document.getElementById('stattbuchung');
    			iframe.src = iframe.src +loc;
    		}
    	</script>
    </head>
    <body onload="updateIframe()">

    <!-- eigener HTML-Code vor dem iFrame -->

    	<iframe  id="stattbuchung" src="index.php" width="100%" height="800" scrolling="auto" frameborder="1" title="Termine Stattbuchung" class="wrapper" >
    	Keine IFrames</iframe>

    <!-- eigener HTML-Code nach dem iFrame -->
    </body>
    </html>

Die Funktion updateIframe() wird im Body mit onload getriggert. Wichtig ist, dass die id 'stattbuchung' im javaScript und im iframe-Tag vorhanden sind.

## Attachments:

phpClient.zip (application/zip)