Stand 17.1.05
"Schöne" interaktive Seiten sind noch etwas komplizierter;
Sie liefern eine Punktzahl und am besten einen Rang für eine Scoreliste zurück.

Interaktive Internetseiten


Interaktiv heißt eine Internetseite, wenn der Benutzer Eingaben machen kann und diese Eingaben überprüft werden.

Soll eine interaktive Lernkontrolle entstehen, so kann man fast immer von einem normalen Text mit Formeln und Bildern ausgehen, zum Beispiel:
 
 
 


Eine Geschichte von einem 

und einem 
 
 
 
 

Ein Rabe saß auf einem Baum und hielt in seinem Schnabel ein Stück Fleisch, das er gestohlen hatte. Der Fuchs sah es und dachte, das wäre ein Bissen für mich. Herr Rabe, fing er an, soeben komme ich aus der Stadt. Dort sprechen alle von Dir.

...
oder
12 - 5 = 7

Damit dieser Text mit einem Browser betrachtet werden kann, muß er in das HTML-Format konvertiert werden. Das kann automatisch in einem "Composer", zum Beispiel dem Composer des Browsers Mozilla, geschehen; es werden nur zusätzliche Kodierungen eingefügt. Auch Open Office kann automatisch konvertieren.
Dabei wird der Text etwas länger. Der ursprüngliche Text ist wieder grün hervorgehoben. Aus den Bildern sind die Dateinamen für die Bilddateien geworden. Die deutschen Umlaute sind gleichfalls umkodiert worden. Das Kleingedruckte muß uns nicht interessieren, da es ja automatisch erzeugt wird.

Die HTML-kodierte Geschichte:
 
 

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="nestle">
<meta name="GENERATOR" content="Mozilla/4.73 [de]C-CCK-MCD DT (Win95; U) [Netscape]">
<title>Test1</title>
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#3333FF" vlink="#660000" alink="#FF0000" >&nbsp;<br><b><font face="Arial,Helvetica"><font color="#006600"><font size=+1>
EineGeschichte von einem

</font></font></font></b>

<br><img SRC="rabef.jpg" height=51 width=112>
<br><b><font face="Arial,Helvetica"><font color="#006600"><font size=+1>
und einem

</font></font></font></b>

<br><img SRC="raber.jpg" height=92 width=106><b><font face="Arial,Helvetica"><font color="#006600"><font size=+1></font></font></font></b>
<p><b><font face="Arial,Helvetica"><font color="#006600"><font size=+1>
Ein Rabe sa&szlig; auf einem Baum und hielt in seinem Schnabel ein St&uuml;ck Fleisch, das er gestohlen hatte. Der Fuchs sah es und dachte, das w&auml;re ein Bissen f&uuml;r mich. Herr Rabe, fing er an, soeben komme ich aus der Stadt. Dort sprechen alle von Dir.

</font></font></font></b><br><b><font face="Arial,Helvetica"><font color="#006600"><font size=+1>...</font></font></font></b><br><b><font face="Arial,Helvetica"><font color="#006600"><font ize=+1>oder</font></font></font></b>

<br><b><font face="Arial,Helvetica"><font color="#006600"><font size=+1>
12 - 5 = 7

</font></font></font></b><br><font face="Arial,Helvetica"></font>&nbsp;

</body>
</html>
Das Kleingedruckte braucht der Browser (Internet-Exporer, Mozilla, Opera, ...), um den Text darzustellen.
Sie können den vorstehenden Kode
          markieren,
         kopieren
          in eine leere Textdatei einfügen
          im Dateiformat "Text" unter dem Namen "test.htm" abspeichen und
          im Browser (Internet Explorer, Mozilla, ...) öffnen
Im Browser sieht die Geschichte jetzt so aus, das heißt, von den HTML-Kodierungen - und von den Bildern . ist nichts zu sehen.

Eine Geschichte von einem


und einem

Ein Rabe saß auf einem Baum und hielt in seinem Schnabel ein Stück Fleisch, das er gestohlen hatte. Der Fuchs sah es und dachte, das wäre ein Bissen für mich. Herr Rabe, fing er an, soeben komme ich aus der Stadt. Dort sprechen alle von Dir.

...
oder
12 - 5 = 7

Aus dem Text wird eine Lernkontrolle, wenn Wörter oder Zahlen entfernt, also Lücken erzeugt werden. Die vorgesehenen Lücken werden jetzt rot markiert:

 
 

<!doctype html public "-//w3c//dtd html 4.0 transitional//en"><html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="nestle">
<meta name="GENERATOR" content="Mozilla/4.73 [de]C-CCK-MCD DT (Win95; U) [Netscape]">
<title>Test1</title>
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#3333FF" vlink="#660000" alink="#FF0000" >
&nbsp;<br><b><font face="Arial,Helvetica"><font color="#006600"><font size=+1>
EineGeschichte von einem

</font></font></font></b><br><img SRC="rabef.jpg" height=51 width=112><br><b><font face="Arial,Helvetica"><font color="#006600"><font size=+1>

und einem

</font></font></font></b><br><img SRC="raber.jpg" height=92 width=106><b><font face="Arial,Helvetica"><font color="#006600"><font size=+1></font></font></font></b>

<p><b><font face="Arial,Helvetica"><font color="#006600"><font size=+1>
Ein Rabe sa&szlig; auf einem Baum und hielt in seinem Schnabel ein St&uuml;ck Fleisch, das er gestohlen hatte. Der Fuchs sah es und dachte, das w&auml;re ein Bissen f&uuml;r mich. Herr Rabe, fing er an, soeben komme ich aus der Stadt. Dort sprechen alle von Dir.

</font></font></font></b><br><b><font face="Arial,Helvetica"><font color="#006600"><font size=+1>...</font></font></font></b><br><b><font face="Arial,Helvetica"><font color="#006600"><font size=+1>oder</font></font></font></b>

<br><b><font face="Arial,Helvetica"><font color="#006600"><font size=+1>
12 - 5 = 7

</font></font></font></b><br><font face="Arial,Helvetica"></font>&nbsp;

</body>
</html>
Wenn die rot geschriebenen Wörter durch Schreiblücken ersetzt werden, muß der Bearbeiter aus dem Gesamttext erschließen, ob "Fuchs" oder "Rabe" die richtige Einsetzung ist, und er muß wissen oder feststellen können, daß 12 - 5 die Zahl 7 ergibt.
Jetzt erzählen wir dem Browser, daß er die Eingabe der rot markierten Wörter verlangen soll. Dazu erklären wir ihm, daß es sich um ein "Formular" handelt. In Open Office rufen wir dazu das Ikon Formular auf. Dann fügt Open Office das automatisch hinzu, was im folgenden Text wieder rot geschrieben ist. Das Formular beginnt mit dem Hinweis <form>. Anstelle der Lücken sollen Eingaben ("input") als Text verlangt werden. Die Lücken erhalten Namen und werden durchnummeriert (n1, n2, n3, ...; Open Office nennt die Lücken textbox1, textbox2, ...). Schließlich wird dem Browser mit </form> erklärt, daß das Formular jetzt beendet ist.
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="nestle">
<meta name="GENERATOR" content="Mozilla/4.73 [de]C-CCK-MCD DT (Win95; U) [Netscape]">
<title>Test1</title>
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#3333FF" vlink="#660000" alink="#FF0000" >
<form   action="test.php" method="post"   >

&nbsp;<br><b><font face="Arial,Helvetica"><font color="#006600"><font size=+1>

EineGeschichte von einem

</font></font></font></b><br><img SRC="rabef.jpg" height=51 width=112><br><b><font face="Arial,Helvetica"><font color="#006600"><font size=+1>

und einem

</font></font></font></b><br><img SRC="raber.jpg" height=92 width=106><b><font face="Arial,Helvetica"><font color="#006600"><font size=+1></font></font></font></b>

<p><b><font face="Arial,Helvetica"><font color="#006600"><font size=+1>
Ein
<input type="text" name="n1">
sa&szlig; auf einem Baum und hielt in seinem Schnabel ein St&uuml;ck Fleisch, das er gestohlen hatte. Der
<input type="text" name="n2">
sah es und dachte, das w&auml;re ein Bissen f&uuml;r mich. Herr
<input type="text" name="n3">
, fing er an, soeben komme ich aus der Stadt. Dort sprechen alle von Dir.
</font></font></font></b><br><b><font face="Arial,Helvetica"><font color="#006600"><font size=+1>...</font></font></font></b>
<br><b><font face="Arial,Helvetica"><font color="#006600"><font size=+1>oder</font></font></font></b><br><b><font face="Arial,Helvetica"><font color="#006600"><font size=+1>
 
 
12 - 5 = <input type="text" name="n4">

</font></font></font></b><br><font face="Arial,Helvetica"></font>&nbsp;

<input type="submit" value="Einsenden">

</form>

</body>

</html>
Der nächste Schritt besteht jetzt darin, Rückmeldungen zu erzeugen, aus denen der Bearbeiter entnehmen kann, ob er die richtige oder eine falsche Einsetzung vorgenommen hat. Für die Erzeugung der Rückmeldung gibt es viele Möglichkeiten.

Wenn der Provider den Zugriff auf PHP erlaubt, ergänzt man in <form> die rot kursiv geschriebenen Textteile. Mit diesen wird auf eine Auswerte-Datei "test.php" verwiesen. Diese wird aufgerufen, wenn man die zusätzliche Schaltfläche "Absenden" anklickt. Auch diese Schaltfläche wird innerhalb der Formularoptionen von Open Office angeboten.

Jetzt erzeugen wir diese Datei test.php aus der vorstehenden Datei. Das Kleingedruckte bleibt unverändert. Das rot und klein Gedruckte wurde hinzugefügt. An die Stelle der Input-Befehle treten die php-Anweisungen. Sie beginnen mit <? und enden mit ?> . <form> , </form> und die Schaltfläche für "Absenden" werden gelöscht.

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="nestle">
<meta name="GENERATOR" content="Mozilla/4.73 [de]C-CCK-MCD DT (Win95; U) [Netscape]">
<title>Test1</title></head>
<body text="#000000" bgcolor="#FFFFFF" link="#3333FF" vlink="#660000" alink="#FF0000" >&nbsp;
<br><b><font face="Arial,Helvetica"><font color="#006600"><font size=+1>
EineGeschichte von einem

</font></font></font></b><br><img SRC="rabef.jpg" height=51 width=112><br><b><font face="Arial,Helvetica"><font color="#006600"><font size=+1>

und einem

</font></font></font></b><br><img SRC="raber.jpg" height=92 width=106><b><font face="Arial,Helvetica"><font color="#006600"><font size=+1></font></font></font></b><p><b><font face="Arial,Helvetica"><font color="#006600"><font size=+1>

<p>Richtige Einsetzungen erscheinen <font color = "#00FF00"> grün </font>; bei den <font color = "#FF0000"> rot </font> geschriebenen Wörtern hast Du einen Fehler gemacht.<p>

Ein

<?
if ($n1=="Rabe") {echo"<font size=4 color=00FF00 > Rabe</font>"; }
else { echo"<font size=4 color=FF0000 > Rabe</font> ";}
?>
sa&szlig; auf einem Baum und hielt in seinem Schnabel ein St&uuml;ck Fleisch, das er gestohlen hatte. Der
<?
if ($n2=="Fuchs") {echo"<font size=4 color=00FF00 >Fuchs</font>";}
else { echo"<font size=4 color=FF0000 > Fuchs</font> ";}
?>
sah es und dachte, das w&auml;re ein Bissen f&uuml;r mich. Herr
<?php
if ($n3=="Rabe") {echo"<font size=4 color=00FF00 > Rabe</font>"; }
else { echo"<font size=4 color=FF0000 > Rabe</font> ";}
?>
, fing er an, soeben komme ich aus der Stadt. Dort sprechen alle von Dir.
</font></font></font></b><br><b><font face="Arial,Helvetica"><font color="#006600"><font size=+1>...</font></font></font></b><br><b><font face="Arial,Helvetica"><font color="#006600"><font size=+1>oder</font></font></font></b>
<br><b><font face="Arial,Helvetica"><font color="#006600"><font size=+1>
12 - 5 =
<?php
if ($n4=="7") {echo"<font size=4 color=00FF00 >7</font>";}
else { echo"<font size=4 color=FF0000 >7</font> ";}
?>
</font></font></font></b><br><font face="Arial,Helvetica"></font>&nbsp;
</body>
</html>
Diese Datei speichern Sie im Dateiformat "Text" unter dem Namen "test.php".

Wenn jetzt der Bearbeiter im Formular einsetzt und das Formular abschickt, erhält er eine Datei zurück, in der richtige Einsetzungen in grüner Schrift erscheinen. Bei falschen Einsetzungen erscheint die richtige Antwort in roter Schrift. Sie können das Prinzip testen, wenn Sie das Beispiel "Rabe" aufrufen. Dieses Beispiel können Sie auch bearbeiten, wenn Sie keine Datei ins Internet stellen.

Sie können sich die Einsetzungen zusätzlich als Email schicken lassen, wenn Sie in der folgenden php-Zeile statt der Scheinadresse Ihre Emailadresse einfügen

<? mail("Email@ihrprovider.de", "Test";, $n, $n1.$n2.$n3.$n4 ) ?>

und die Zeile dann vor die Zeile </body> einkopieren.