PHP / Tipps / Vokabeltrainer

von: Werner Zenk

Ein kleiner Vokabeltrainer. Funktioniert im Zusammenspiel von JavaScript und PHP.
Die Vokabeln können wahlweise in deutsch oder englisch abgefragt werden.

Demo:

 

Vokabeltrainer zum Herunterladen: vokabeltrainer.zip vokabeltrainer.zip
 Version vom: 10.06.2011
 Dateigröße: 19,1 KB
 Dateien: 1

  vokabeltrainer.php - 2,8 KB - 10.06.11

 

Quelltext:vokabeltrainer.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<!DOCTYPE html>
<html>
<head>
<title>Vokabeltrainer</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<style type="text/css">
body, table {
 font-family: Verdana, Arial, Sans-Serif;
 font-size: 12px;
}
div {
 margin-bottom: 5px;
}
</style>


<!--  Vokabeltrainer
 von W.Zenk 
 www.homepage-total.de -->

<?php
# Vokabelabfrage in: deutsch / englisch
$vokabelabfrage "englisch";

# Die Vokabeln einlesen
$vokabel file("vokabeln.txt");

shuffle($vokabel);
$vokabel_anzahl count($vokabel);
?>

<script type="text/javascript">
// Variablen setzen
var vokabel_anzahl = <?php echo $vokabel_anzahl;?>, vokabel_nr = 0;

function neue_vokabel() {
 if (vokabel_nr == vokabel_anzahl) { // Max. Vokabeln erreicht ->
  document.Form.submit(); //  Formular absenden
 }
 else {
  // Vokabel und Eingabefeld sichtbar machen
  document.getElementById("ID" + vokabel_nr).style.display = "block";
  document.Form.vokabelnr.value = vokabel_nr; // Vokabelnummer einfügen
  vokabel_nr++;
 }
}
</script>


</head>
<body>

<h2>Vokabeltrainer</h2>

<?php
// Anzahl der Vokabeln ausgeben
echo "Der Vokabeltrainer hat <strong>$vokabel_anzahl</strong> Vokabeln.<br>
Die Übersetzung in <u>
$vokabelabfrage</u> eintragen!<br><br>\n\n";

if (!
$_POST) {
 echo 
"<form name=\"Form\" action=\"" $_SERVER["SCRIPT_NAME"] . "\" method=\"post\">\n";

 
// Vokabelabfrage - Versteckte Vokabeln und Eingabefelder ausgeben
 
foreach ($vokabel as $zaehler => $element) {
  list(
$deutsch$englisch) = explode("|"$element);
  echo 
"<div id=\"ID$zaehler\" style=\"display: none;\">. ($zaehler 1) . ". &nbsp; <em>
   ((
$vokabelabfrage == "deutsch") ? $englisch $deutsch) . 
   
"</em> = <input type=\"text\" name=\"nr$zaehler\" size=\"30\"></div>\n";
 }

 
// Versteckte Felder für Zufallsvokabeln und aktuelle Vokabelnummer
 
echo "<input type=\"hidden\" name=\"shuffle\" value=\"" implode("+"$vokabel) . "\">\n";
 echo 
"<input type=\"hidden\" name=\"vokabelnr\"> <br>\n";

 
// Submit-Button und Button für Neue Vokabel anzeigen
 
echo "&nbsp; &nbsp; <button type=\"submit\">Lösung anzeigen</button> - 
  <button type=\"button\" onClick=\"neue_vokabel();\">Neue Vokabel</button> <br><br>
 </form>
 <script type=\"text/javascript\">neue_vokabel();</script>
"
;
}

if (
$_POST) {
 
// Link - Vokabeltrainer starten
 
echo "&raquo; <a href=" $_SERVER["SCRIPT_NAME"] . ">Vokabeltrainer starten</a><br><br>\n\n";

 
// Vokabeln und Antworten in einer Tabelle ausgeben
 
echo "<table border=\"1\"><tr><th>Deutsch</th><th>Englisch</th><th>Antwort</th></tr>\n";
 foreach ((
explode("+"$_POST["shuffle"])) as $zaehler => $element) {
  list(
$deutsch$englisch) = explode("|"$element);
  echo 
"<tr><td>$deutsch</td><td>$englisch</td><td>. ((($_POST["nr"$zaehler] == "") ? "?" $_POST["nr"$zaehler])) . "</td></tr>\n";
  if (
$zaehler == $_POST["vokabelnr"]) {
   break;
  }
 }
 echo 
"</table>";
}
?>

</body>
</html>
    Und Ihre Meinung?
      Sie vermissen auf dieser Seite wichtige Informationen oder haben Hinweise für uns?
Kommentare: 7 » aufmachen   
Forrest Gumb:
Hallo Werner, hast Du das Vokabelarray selbst eingegeben oder hast Du eine Sekretärin? Respekt!

Werner:
Selbst eingegeben, und dabei noch einige Vokabeln gelernt )

Ich. wer sonst?:
Danke! Das ist super

csv database:
Hallo Werner, Eigentlich super, schade, dass die Wörter nicht in einer CSV-Datei abgelegt sind und mit einem Tool zu verwalten sind.

Werner:
Mit ein wenig PHP kann man das doch selber machen.
Die Variable $vokabel (Array) im Browser anzeigen lassen:
<?php
foreach ($vokabel as $element) {
 echo $element . "<br>";
}
?>
Den erstellten Text dann in einer .csv-Datei ("vokabeln.csv") speichern.
Alle Mittelstriche ( | ) durch Strichpunkte ( ; ) ersetzen.
Die Daten aufrufen über:
$vokabel = file("vokabeln.csv")
Folgenden PHP-Code (zweimal vorhanden!):
list($deutsch, $englisch) = explode("|", $element);
ändern in diesen:
list($deutsch, $englisch) = explode(";", $element);
Die .csv-Datei kann dann z.B.: mit OpenOffice bearbeitet werden.

bandit:
Hallo,anscheinend bin ich zu doof, dass ich das mit der .csv - Datei hinkrieg; kann mir bitte jemand helfen?

Werner:
Vokabeltrainer mit einer externen .csv-Datei, zum herunterladen: vokabeltrainer_csv.zip (ca. 21 kb)
Hilfe finden Sie im » netzgemein.de - Forum. Auch als „Gast” können Sie dort Fragen stellen!  
 Das könnte Sie interessieren:
SiteMap-Links - Die SiteMap ist die Index-Seite einer Homepage, auf der alle wichtigen Seiten übersichtlich aufgelistet sind. Die SiteMap dient als Wegweiser für Besucher. Die Sitemap ist neben der Hauptnavigation einer der wichtigsten Einstiegspunkte in ein umfangreiches Angebot. Auch für eine interne Übersicht ist eine SiteMap bei größeren Projekten sehr hilfreich.  PHP-Einführung  Datum zerlegen  Datei-Adresse ausgeben  Ermittlung des Plurals  Quiz - Mit diesem PHP-Script veranstalten Sie ein Quiz auf Ihrer Homepage.  Datumsformat in ein deutsches Datum umwandeln  Das erste Zeichen jeden Wortes in Großbuchstaben  Einstellungen speichern - Diese Funktion speichert geänderte Einstellungen in einer Textdatei. Beim erneuten aufrufen der Seite werden die Einstellungen ausgelesen und angezeigt.  Begrüßung der Besucher - Begrüßung der Besucher nach der Tageszeit.  …mehr
© 2000-2012 Homepage-Total.de Kontakt - Impressum - Banner