Frage-Antwort-ScriptFrage-Antwort-Script - Anleitung

Version 2.02 - 30.12.2007


Das Script ist eine Applikation zum Veranstalten eines Frage-Antwort-Spiels, einer online-Teilnehmerbefragung, eines Wissenstests, einer Prüfung, eines Quiz, eines Gewinnspiels o.ä. im Multiple-Choice-Verfahren online auf einem Webserver. Die Anwendung arbeitet mit PHP-Seiten und verlangt PHP ab Version 4.3.x auf dem Server. Eine serverseitige Datenbankunterstützung ist nicht erforderlich.

Das Frage-Antwort-Script unterstützt variable Ablaufvarianten der Teilnehmerbefragung, unterschiedliche Layouts sowie mehrere Auswertemethoden. Sämtliche inhaltliche Anpassungen sowie Einstellungen des Layouts und der Funktionsparameter können über die online-Administration vorgenommen werden. Programmierkenntnisse in der Sprache PHP sind an keiner Stelle erforderlich. HTML-Kenntnisse sind bei Wünschen nach Veränderung des Standard-Layouts hilfreich, jedoch nicht zwingend erforderlich.

Lesen Sie nachfolgend:


1) Installation 

Ordnerstruktur Das Programm Frage-Antwort-Script (FAS) ist im Ordner fas des Downloadarchivs enthalten. Kopieren Sie den gesamten Ordner fas einschließlich aller enthaltenen Unterordner und Dateien auf den Webserver. Nach der Installation muss nebenstehende Ordnerstruktur auf Ihrem Server vorhanden sein:

Im Ordner fas liegen die für die Teilnehmer bestimmten Seiten und Programmdateien.

Der Ordner admin enthält die für den Administrator bestimmten Programme, um das Frage-Antwort-Script während des Betriebes zu verwalten. Dieser Ordner ist nicht für Besucher gedacht und sollte mittels .htaccess-Datei serverseitig vor unberechtigten Zugriffen geschützt werden. Ist ein solcher Zugriffsschutz auf Ihrem Server nicht möglich, so sollten Sie den Ordner admin so umbenennen oder verlagern, dass zufällige Besucherzugriffe ausgeschlossen werden.

Der Ordner admin kann bei Bedarf an jede beliebige andere Stelle Ihres Webs verlagert werden. Dazu ist der Ordner nebst allen enthaltenen Dateien manuell an die gewünschte abweichende Position zu kopieren. Damit vom verlagerten Ordner admin der Zugriff auf den Programmordner fas dennoch möglich ist, muss nach einer solchen Verlagerung in der Datei pfad.php im Ordner admin die relative Pfadangabe zum Ordner fas manuell korrigiert werden.

Im Ordner daten sind die Fragen und Antworten zum Frage-Antwort-Scripts gespeichert. Sofern Ihr Script mit Bildern/Fotos innerhalb der Fragen arbeitet, werden diese Grafiken ebenfalls im Unterordner daten abgelegt.

manuelle Rechtevergabe während der Installation 

PHP muss während der Konfiguration und im späteren Betrieb des Frage-Antwort-Scripts Daten in den Ordnern des Frage-Antwort-Scripts speichern können. Eine Vielzahl von Webservern ist so konfiguriert, dass PHP beliebige Schreiboperationen in Ihrem Web ausführen darf. In diesem Fall ist der folgende Abschnitt Rechtevergabe gegenstandslos. Etliche Server unterliegen aber Restriktionen beim Schreiben in den Webspeicher. In einem solchen Fall sind die folgenden Einzelheiten durch Rechtevergabe mittels Kommando chmod() zu gewährleisten.

Die folgende Tabelle zeigt die Ordner oder Dateien, die mit besonderen Rechten zu versehen sind, falls Ihr Server nicht automatisch Schreiberlaubnis für PHP besitzt. Die Übersicht stellt jeweils das Maximum an Rechten her, verringert aber die Sicherheit. Eventuell sind geringere Rechte auf Ihrem Server ausreichend.

Ordner/fas/daten777 (drwxrwxrwx)
Dateien/fas/daten/daten.txt666 (rw-rw-rw-)
 /fas/daten/ergebnisse.csv666
 /fas/daten/schalterOK.gif666
 /fas/daten/fasLogo.gif
/fas/daten/fasLogo.jpg
/fas/daten/fasLogo.png
666
 /fas/fasWerte.php766 (oder 666 ?)
 /fas/fasStyle.css666

Während der Konfiguration muss PHP die Dateien daten.txt, ergebnisse.csv sowie fasWerte.php und fasStyle.css schreiben dürfen. Beim Gebrauch von Grafiken werden solche nach /fas/daten/ hochgeladen. Es muss PHP erlaubt sein, dort Dateien zu speichern, zu überschreiben und zu löschen.

Während des Betriebes muss PHP in die Datei ergebnisse.csv schreiben dürfen. Wollen Sie auch während des Betriebes Änderungen an der Funktion und am Aussehen des Frage-Antwort-Scripts über die Administratorseiten vornehmen, müssen auch die Dateien fasWerte.php und fasStyle.css änderbar bleiben.

Wollen Sie das Frage-Antwort-Script mit mehreren unabhängigen Konfigurationen betreiben, so sind mehrere unabhängige Variablendateien notwendig. Diese müssen im Programmordner /fas bereitgehalten werden und werden fortlaufend fasWerte1.php, fasWerte2.php, fasWerte3.php usw. benannt. Im Falle Ihrer Verwendung müssen auch diese zusätzlichen Variablendateien beschreibbar mit den Rechten chmod(666) (rw-rw-rw-) sein.

2) Konfiguration 

Über die Konfiguration richten Sie in 6 Dialogen das Frage-Antwort-Script ein. Sie rufen die Konfiguration über http://www.ihr-server.de/fas/admin auf. Die 6 Schritte sind Ablaufeinstellungen, Layouteinstellungen, Farbeinstellungen, Personalienformular, Auswerteparameter und Ergebnisliste links oben im Menü des Admin-Bereiches. Alle Administrationsschritte sind nahezu selbsterklärend. Nachfolgend ein Überblick zur Orientierung:

2.0) Setup und spätere Updates 

Beim allerersten Aufruf der Administratorseiten über http://www.ihr-server.de/fas/admin wird das Setup-Formular angezeigt, sofern die Pfadangaben noch eingestellt werden müssen. Die Setup-Seite ermittelt die wahrscheinlich auf Ihrem Server zutreffenden Pfadangaben und zeigt die momentan im Frage-Antwort-Script eingetragenen Pfade an, sofern diese abweichen. In den meisten Fällen müssen Sie einfach die vom Setup-Script ermittelten Pfadangaben in die Felder der Pfade für das Frage-Antwort-Script übernehmen.

Sofern Sie Dateien aus einem Update-Paket über ein laufendes Frage-Antwort-Script in das bisherige Scriptverzeichnis überkopiert haben, wird der nächste neue Aufruf der Administrationsseiten http://www.ihr-server.de/fas/admin das Update einspielen und Sie über den Erfolg bzw. eventuelle Probleme informieren.

2.1) Konfigurations-Schritt 1: Ablaufeinstellungen 

2.2) Konfigurations-Schritt 2: Layouteinstellungen 

2.3) Konfigurations-Schritt 3: Farbeinstellungen 

Der Schritt 3 der Konfiguration umfasst die Definition der Farben der wesentlichen Scriptelemente und ist weitgehend selbsterklärend. Die Farben werden unmittelbar in die Style-Datei fasStyle.css im Hauptverzeichnis des FAS-Programmes eingetragen.

Es kann vorkommen, dass Sie die Farbänderungen nicht sofort im Teilnehmerbereich des Scripts sehen. Das liegt daran, dass die Style-Datei fasStyle.css von einigen Browsern im Cache gehalten wird. Betätigen Sie in diesem Fall im Besucherbereich den Befehl Aktualisieren oder Neu laden Ihres Browsers, um einen komplett neuen Seitenaufbau zu erzwingen.

2.4) Konfigurations-Schritt 4: Personalienformular 

Nach Beantwortung der Fragen können Sie die Personalien des Teilnehmers in einem Formular erfassen und diese Daten innerhalb der darauffolgenden Auswertung heranziehen. Diese Formularseite kann aber auch komplett entfallen. Die Einstellungen sind:

2.5) Konfigurations-Schritt 5: Auswerteparameter 

Nach Beantworten aller Fragen durch den Teilnehmer erfolgt eine automatische Auswertung. Es wird auf komplett richtig bzw. falsch beantwortete Fragen getestet. Bei Fragen mit mehreren richtigen Antwortmöglichkeiten können Punkte vergeben werden.

Das Auswerteergebnis kann auf 4 Arten veröffentlicht werden:

Es ist möglich, mehrere Auswertungsarten parallel nebeneinander zu verwenden. Sofern Sie die Auswertungsart e-Mail an den Teilnehme benutzen UND im Personalienformular mehr als nur das Feld für die e-Mail-Adresse aktiviert haben könnten über diese Auswertung auch unerwünschte Nachrichten an andere Personen versandt werden.

Für jede der 4 Auswertungsarten können unterschiedliche Auswerteelemente in unterschiedlicher Reihenfolge definiert werden:

2.6) Konfigurations-Schritt 6: Ergebnisliste 

Hier können Sie den Namen der Auswerteliste individuell wählen, um neugierige Einblicke Unbefugter auszuschließen.

3) individuelle Anpassung 

Über die Möglichkeiten der Konfiguration und der Administration hinausgehend können Sie das Aussehen Ihres Frage-Antwort-Scripts einfach individualisieren. Dazu müssen Sie im Bedarfsfalle die Schablonenseiten fasSeite.htm bzw. die Style-Datei fasStyle.css verändern.

3.1) Die Schablone fasSeite.htm 

Aus der Schablone fasSeite.htm erzeugt das Frage-Antwort-Script alle angezeigten Seiten im Teilnehmerbereich, sofern das Script autonom läuft und nicht per Befehl PHP-Include in andere PHP-Seiten eigebettet wurde.

Es können in diese Schablone beliebige Zusatzelemete wie eigene Grafiken, eigener Text und eigene Verweise eingebaut werden. Die Schablonenseite kann optisch nahtlos passend an Ihr Web angeglichen werden. Die HTML-Seite können Sie unter Beachtung zweier einfacher Regeln selbst gestalten:

Die Seite fasSeite.htm muss an zentraler Stelle den Platzhalter {Inhalt} enthalten. An dieser Stelle fügt das Script bei jedem Seitenaufruf die jeweilige Frage-Antworttabelle oder Auswertetabelle in das Schablonengerippe ein. Der Platzhalter {Inhalt} sollte möglichst zentriert auf die Seite gesetzt werden.

In der Schablone fasSeite.htm muß ein Verweis auf die CSS-Style-Datei fasStyle.css vorhanden sein, aus der sämtliche Angaben zu Farben und Layout der Frage-Antworttabelle bzw. Auswertetabelle bezogen werden. Weitere CSS-Angaben direkt in der Schablone fasSeite.htm oder durch Verweis auf andere eigene CSS-Dateien sind problemlos möglich.

3.2) Die CSS-Style-Datei fasStyle.css 

Falls Ihnen die Standardlayouts nicht zusagen und die Farbeinstellmöglichkeiten über die Administration nicht ausreichen, können Sie die Style-Datei fasStyle.css online oder offline direkt editieren. Die verwendeten CSS-Klassennamen sind in der Grafik dargestellt. Es bedeuten:

CSS-KlasseBedeutungAnsicht
table.fasGsmtGesamttabelle bei Layout mit BildCSS-Klassen
td.fasBildContainerzelle für das Bild
td.fasTextContainerzelle für die Frage-Antwort-Tabelle
table.fasTextFrage-Antwort-Tabelle
td.fasFragZelle mit dem Fragentext
td.fasAuswZelle mit Kontrollkästchen/Radioschalter zur Auswahl der Antwort
td.fasAntwZelle mit einem Antworttext
td.fasKatgZelle die Fragenkategorie (optional, oberhalb oder unterhalb der Frage)
td.fasAuslZelle für den Text: "Frage auslassen" (optional)
td.fasFrNrZelle für die Nummer der Frage (optional, oberhalb oder unterhalb der Frage)
td.fasInfoZelle für Zusatzinformationen wie Anzahl der richtigen Antworten, Anzahl der Antwortversuche oder Punktezahl (optional)
td.fasAnmkZelle für einen eventellen Anmerkungstext zur Frage wahlweise oberhalb oder unterhalb der Antworten (optional)
td.fasSchaZelle mit dem Formularschalter
table.fasAnmkeventuelle zusätzliche Tabelle unterhalb der Gesamttabelle, die beim Offenlegen von Antworten die jeweils vorhandene Anmerkung zur Frage im Stil von td.fasAnmk anzeigt.

4) Fragen- und Antworterstellung 

Die Fragen- und Antworterstellung erfolgt online über die Administration. Jede Frage kann bis zu 9 mögliche Antworten, eine zugeordnete Abbildung und eine Anmerkung erhalten. Die Anzahl der Antworten kann von Frage zu Frage differieren.

Jede Frage kann einer Kategorie zugeordnet werden. Die Kategorien dienen entweder als Filter zur Auswahl von Fragen für einen bestimmten Test oder haben nur eine Informationsfunktion. Die Kategorien können zuvor in der Administration über den Menüpunkt Fragenkategorien erstellt werden.

Die Fagen und Anmerkungen können mehrzeilig sein und mittels sogenanntem BB-Code formatiert werden. Es werden die Schriftauszeichnungen fett, kursiv und unterstrichen sowie mehrere Schriftgrößen und Schriftfarben realisiert. Für umfangreichere Fragen stehen Aufzählungen und Numerierungen zur Verfügung.

Antworten sind normalerweise einzeilig und unformatiert. Sofern Sie aber hier von Hand BB-Codes oder Zeilenumbrüche zur Formatierung eintragen, werden diese bei der Darstellung der Antworten im Teilnehmerbereich berücksichtigt.

Zu jeder Frage ist die Nummer der richtigen Antwort vorzugeben. Falls mehrere Antworten richtig sind, so sind deren Nummern in natürlicher Reihenfolge durch Komma getrennt aufzuzählen.

Den Fragen kann eine Punktezahl zugewiesen werden, die bei komplett richtiger Beantwortung vergeben wird. Hat die Frage mehrere richtige Antworten und wurde nur teilweise zutreffend beantwortet, so vergibt das Script die Punkte anteilig, gerundet auf eine Nachkommastelle. Die Punktezahl sollte deshalb möglichst zur Antwortanzahl passen, um Rundungsproblem zu vermeiden.

5) Aufruf und Einbindung des Scripts 

Das Frage-Antwort-Script kann autonom aufgerufen oder per Befehl PHP-Include in andere PHP-Seiten integriert werden.

Für den autonomen Betrieb reicht ein Aufruf der Adresse wie http://www.ihr-server.de/fas/fas.php, egal ob als vollständiger URL oder als relativer Link innerhalb Ihres Webs. Ein solcher Aufruf generiert die Frage-Antwort-Tabelle und bettet Sie in den in der Schablone fasSeite.htm hinterlegten HTML-Rahmen ein. Eine Aufruf des Frage-Antwort-Scripts innerhalb eines vorhanden Frame-Sets ist problemlos möglich.

Das Fage-Antwort-Script erlaubt bis zu 9 unterschiedliche Ablaufvarianten parallel. Sofern sie in der Konfiguration alternative Variablendateien wie fasWerte1.php oder fasWerte2.php usw. angelegt haben, können Sie das Script mit einem solchen alternativen Ablauf aufrufen mittels http://www.ihr-server.de/fas/fas.php?fasAblauf=2.

Für die Integration in andere PHP-Seiten ist der Befehl include() zu verwenden. Vor dem eigentlichen Aufruf des Frage-Antwort-Scripts ist jedoch die Variablendatei fasWerte.php zu importieren. Der Aufruf lautet also im beispielhaften Fall:

  include('fas/fasWerte.php'); include('fas/fas.php');

Falls Sie eine alternative Ablaufvariante starten wollen, so müssen Sie die über die Konfiguration vorbereitete passende Variablendatei statt der Standardvariablen einbinden. Also beispielsweise:

  include('fas/fasWerte2.php'); include('fas/fas.php');

Ohne den vorangegangenen Import einer Variablendatei wird ein eingebetteter Aufruf des Frage-Antwort-Scripts nicht funktionieren! Inwieweit Sie den Aufruf durch eine zusätzliche Pfadangabe ergänzen müssen, hängt von der Verzeichnisstruktur in Ihrem Web ab.

Bei einem eingebetteten Aufruf erzeugt das Script keine vollständige HTML-Seite, sondern nur den HTML-Codeblock für die Frage-Antwort-Tabelle bzw. die Auswertetabelle ohne Head- und Body-Angaben. Diese Rahmeninformationen müssen aus der aufrufenden PHP-Seite kommen.

6) Vollversion 

Die Demoversion unterliegt der Einschränkung, dass im Admin-Bereich Fragen und Antworten zwar eingetragen aber nicht abgeändert werden können. Die Vollversion bestellen Sie online zu den aktuell gültigen Bedingungen.


  Frage-Antwort-Script © J. Hummel