diff options
| author | Sven Eisenhauer <sven@sven-eisenhauer.net> | 2023-11-10 15:11:48 +0100 |
|---|---|---|
| committer | Sven Eisenhauer <sven@sven-eisenhauer.net> | 2023-11-10 15:11:48 +0100 |
| commit | 33613a85afc4b1481367fbe92a17ee59c240250b (patch) | |
| tree | 670b842326116b376b505ec2263878912fca97e2 /Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6 | |
| download | Studium-master.tar.gz Studium-master.tar.bz2 | |
Diffstat (limited to 'Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6')
21 files changed, 2069 insertions, 0 deletions
diff --git a/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/12_ecmascriptdom1.htm b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/12_ecmascriptdom1.htm new file mode 100644 index 0000000..1be4e69 --- /dev/null +++ b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/12_ecmascriptdom1.htm @@ -0,0 +1,332 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+ <!-- Strict nicht möglich wegen target="_new" in form -->
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <title>Beispiele für ECMAScript und DOM</title>
+ <style type="text/css">
+ <!--
+
+
+/* allgemeine Styles */
+ td { font-size:0.8em; }
+ td.aussen { vertical-align:top; padding:0.8em; }
+ body { font-family:Arial, Helvetica, sans-serif; }
+ h1 { font-size:1.2em; }
+ h3 { font-size:1.0em; }
+ form td { white-space:nowrap; }
+
+
+/* Auf- und Zuklappen */
+ span.PlusMinus { background-color:rgb(192,192,192);
+ padding-left:0.2em; padding-right:0.2em; cursor:pointer;
+ font-family:monospace; }
+ ul.Unterpunkte { margin-top: 0.2em; margin-bottom: 0.2em; display:none; }
+
+
+/* Mouseover-Effekte */
+ div.ButtonNormal { background-color:rgb(192,192,192); cursor:pointer;
+ text-align:center; margin-bottom:0.1em; width:30%; }
+ div.ButtonOver { background-color:rgb(216,216,216); cursor:pointer;
+ text-align:center; margin-bottom:0.1em; width:30%; }
+ div.ButtonDown { background-color:rgb(242,242,216); cursor:pointer;
+ text-align:center; margin-bottom:0.1em; width:30%; }
+
+
+/* Formular */
+ td.Beschriftung { text-align:left; vertical-align:top; }
+ td.zentriert { text-align:center; }
+ .volleBreite { width:100%; }
+
+
+ -->
+ </style>
+ <script type="text/javascript">
+ <!--
+
+
+// allgemeine Funktionen
+
+ function Initialisierung()
+ {
+ BuchstabenZiffernUmschaltung();
+ Vorauswahl("Landwahl", "Inselwahl");
+ }
+ function zeigeAusnahme (Ausnahmeobjekt)
+ {
+ var Meldung = "Fehler: ";
+ if (typeof Ausnahmeobjekt == "object") {
+ // Browser werfen mitunter solche Ausnahmeobjekte aus
+ for (var Attribut in Ausnahmeobjekt) {
+ Meldung = Meldung + "\n" + Attribut + " = " + Ausnahmeobjekt[Attribut];
+ }
+ }
+ else
+ Meldung = Meldung + Ausnahmeobjekt;
+ alert (Meldung);
+ }
+
+
+
+// Auf- und Zuklappen
+
+ function AufZuKlappen (Kapitel)
+ {
+ try { // Beispiel zur Ausnahmebehandlung
+ var nPlusMinus = Kapitel.firstChild;
+ var nUnterliste = Kapitel.nextSibling.nextSibling;
+ var istZu = (nPlusMinus.nodeValue == "-");
+ if (istZu) {
+ nPlusMinus.nodeValue = "+";
+ nUnterliste.style.display = "none";
+ }
+ else {
+ nPlusMinus.nodeValue = "-";
+ nUnterliste.style.display = "block";
+ }
+ }
+ catch (Ausnahme) {
+ zeigeAusnahme (Ausnahme);
+ }
+ }
+
+
+
+// Auswahlhierarchie
+
+ var Inseln_Spanien = new Array ("Ibiza", "Mallorca", "Teneriffa");
+ var Inseln_Italien = new Array ("Elba", "Sardinien");
+ var Inseln_Griechenland = new Array ("Korfu", "Kreta", "Rhodos", "Samos");
+
+ function Vorauswahl(OberlisteID, UnterlisteID)
+ {
+ var Oberliste = document.getElementById(OberlisteID);
+ var Unterliste = document.getElementById(UnterlisteID);
+ var Auswahl = Oberliste.options[Oberliste.selectedIndex].text;
+ var Inseln = eval ("Inseln_" + Auswahl);
+
+ while (Unterliste.firstChild != null)
+ Unterliste.removeChild (Unterliste.firstChild);
+ for (i=0; i<Inseln.length; i++) {
+ var neuesElement = document.createElement ("option");
+ var neuerText = document.createTextNode (Inseln[i]);
+ neuesElement.appendChild (neuerText);
+ Unterliste.appendChild (neuesElement);
+ }
+ }
+
+
+
+// Mouseover-Effekte
+
+ function Mouseover (Schaltflaeche)
+ {
+ Schaltflaeche.className = "ButtonOver";
+ // Sonderfall, weil class ein reserviertes Wort ist
+ }
+ function Mouseout (Schaltflaeche)
+ {
+ Schaltflaeche.className = "ButtonNormal";
+ }
+ function Mousedown (Schaltflaeche)
+ {
+ Schaltflaeche.className = "ButtonDown";
+ }
+ var bgStyle = null;
+ var bgColor = null;
+ function Mouseup (Schaltflaeche)
+ {
+ if (Schaltflaeche.className=="ButtonDown") {
+ bgStyle = Schaltflaeche.parentNode.style;
+ if (bgColor==null) // gegen retriggern
+ bgColor = bgStyle.backgroundColor;
+ bgStyle.backgroundColor = "rgb(242,216,216)";
+ window.setTimeout("bgStyle.backgroundColor = bgColor;",500);
+ }
+ Mouseover (Schaltflaeche);
+ }
+
+
+
+// Überprüfung von Eingaben
+
+ function BuchstabenZiffernUmschaltung()
+ {
+ if (document.getElementsByName("Eingabetyp")[0].checked==true)
+ document.getElementById("FormBeschriftung").firstChild.nodeValue = "Buchstaben:";
+ else
+ document.getElementById("FormBeschriftung").firstChild.nodeValue = "Zahl:";
+ }
+ function isAlpha(Zeichen)
+ {
+ return (Zeichen>="a" && Zeichen<="z") || (Zeichen>="A" && Zeichen<="Z");
+ }
+ function OnAbschicken()
+ {
+ var Eingabe = document.getElementById("FormEingabe").value;
+ if (document.getElementsByName("Eingabetyp")[0].checked==true) {
+ // verlangt Buchstaben
+ for (i=0; i<Eingabe.length; i++)
+ if (!isAlpha(Eingabe.charAt(i))) {
+ alert ("Bitte geben Sie nur Buchstaben ein !");
+ return false; // nicht abschicken
+ }
+ }
+ else {
+ // verlangt Zahl
+ if (isNaN(parseInt(Eingabe))) {
+ alert ("Bitte geben Sie eine Zahl ein !");
+ return false; // nicht abschicken
+ }
+ else if (!isFinite(parseInt(Eingabe))) {
+ alert ("Diese Zahl ist außerhalb des möglichen Wertebereichs !");
+ return false; // nicht abschicken
+ }
+ }
+ return true; // abschicken
+ }
+
+
+
+ //-->
+ </script>
+</head>
+
+<body onload="Initialisierung();">
+<h1>Beispiele für ECMAScript und DOM</h1>
+
+<table border="1" cellspacing="0" cellpadding="3">
+<tr>
+
+
+
+ <td class="aussen">
+ <h3>
+
+Auf- und Zuklappen<br>von Unterpunkten
+
+ </h3>
+
+ <div>
+ <span class="PlusMinus" onclick="AufZuKlappen(this);">+</span> Fernweh
+ <ul class="Unterpunkte">
+ <li>in die Sonne</li>
+ <li>Winterfreuden</li>
+ <li>Kultur</li>
+ </ul>
+ </div>
+ <div>
+ <span class="PlusMinus" onclick="AufZuKlappen(this);">-</span> Kontakt
+ <ul class="Unterpunkte" style="display:block;">
+ <li>schreiben</li>
+ <li>mailen</li>
+ <li>Prospekte anfordern</li>
+ </ul>
+ </div>
+ <hr><img src="images/AufUndZuklappen.gif" alt="DOM-Teilbaum">
+ </td>
+</tr><tr>
+
+
+
+ <td class="aussen">
+ <h3>
+
+Auswahlhierarchie
+
+ </h3>
+ <form action="http://localhost/cgi-bin/echo.pl" method="POST">
+ <table border="0">
+ <tr>
+ <td class="Beschriftung">Wählen Sie erst das Land...<br>
+ <select name="Land" size="3" id="Landwahl"
+ onchange="Vorauswahl('Landwahl', 'Inselwahl');">
+ <option selected>Spanien</option>
+ <option>Italien</option>
+ <option>Griechenland</option>
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <td class="Beschriftung">...und dann die Insel:<br>
+ <select name="Insel" id="Inselwahl" size="4" style="width:100%">
+ <option> </option>
+ </select>
+ </td>
+ </tr>
+ </table>
+ </form>
+ <hr><img src="images/Auswahlhierarchie.gif" alt="DOM-Teilbaum">
+ </td>
+</tr><tr>
+
+
+
+ <td class="aussen">
+ <h3>
+
+Mouseover-Effekte
+
+ </h3>
+ <div class="ButtonNormal" onmouseover="Mouseover(this);" onmouseout="Mouseout(this);"
+ onmousedown="Mousedown(this);" onmouseup="Mouseup(this);">
+ Suchen
+ </div>
+ <div class="ButtonNormal" onmouseover="Mouseover(this);" onmouseout="Mouseout(this);"
+ onmousedown="Mousedown(this);" onmouseup="Mouseup(this);">
+ Buchen
+ </div>
+ <div class="ButtonNormal" onmouseover="Mouseover(this);" onmouseout="Mouseout(this);"
+ onmousedown="Mousedown(this);" onmouseup="Mouseup(this);">
+ Kontakt
+ </div>
+ <hr><img src="images/Mouseover.gif" alt="DOM-Teilbaum">
+ </td>
+</tr><tr>
+
+
+
+ <td class="aussen">
+ <h3>
+
+Überprüfung von Eingaben
+
+ </h3>
+ <form action="http://localhost/cgi-bin/echo.pl" method="POST" target="_new"
+ onsubmit="return OnAbschicken();" onreset="BuchstabenZiffernUmschaltung();">
+ <table border="0">
+ <tr>
+ <td id="Tab2Spalte1">nur Buchstaben</td>
+ <td>
+ <input type="radio" name="Eingabetyp" value="Buchstaben" checked
+ onclick="BuchstabenZiffernUmschaltung();">
+ </td>
+ </tr>
+ <tr>
+ <td>nur Zahlen</td>
+ <td>
+ <input type="radio" name="Eingabetyp" value="Ziffern"
+ onclick="BuchstabenZiffernUmschaltung();">
+ </td>
+ </tr>
+ <tr>
+ <td id="FormBeschriftung">???:</td>
+ <td><input type="text" class="volleBreite" size="27"
+ name="Eingabe" id="FormEingabe" value="">
+ </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>
+ <input type="submit" class="halbeBreite" name="B1" value="Abschicken">
+ </td>
+ </tr>
+ </table>
+ </form>
+ <hr><img src="images/Ueberpruefung.gif" alt="DOM-Teilbaum">
+ </td>
+</tr>
+</table>
+</body>
+</html>
\ No newline at end of file diff --git a/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/CgiTestFormular.htm b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/CgiTestFormular.htm new file mode 100644 index 0000000..907c2bd --- /dev/null +++ b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/CgiTestFormular.htm @@ -0,0 +1,25 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+ "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <title>CgiTestformular</title>
+</head>
+<body>
+ <h1>CgiTestFormular</h1>
+ <p>Dieses Formular sendet an
+ <a href="http://localhost/cgi-bin/CgiTest.exe"> http://localhost/cgi-bin/CgiTest.exe
+ </a>
+ </p>
+ <form action="http://localhost/cgi-bin/CgiTest.exe" method="get">
+ <p>Name:<br><input maxlength="40" size="40" name="Anwendername"></p>
+ <p>Text:<br><textarea name="KommentarText" rows="2" cols="40"></textarea></p>
+ <p><input type="submit" value="absenden"> mit GET</p>
+ </form>
+ <form action="http://localhost/cgi-bin/CgiTest.exe" method="post">
+ <p>Name:<br><input maxlength="40" size="40" name="Anwendername"></p>
+ <p>Text:<br><textarea name="KommentarText" rows="2" cols="40"></textarea></p>
+ <p><input type="submit" value="absenden"> mit POST</p>
+ </form>
+</body>
+</html>
\ No newline at end of file diff --git a/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/MimeTest.csv b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/MimeTest.csv new file mode 100644 index 0000000..9353c4d --- /dev/null +++ b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/MimeTest.csv @@ -0,0 +1,4 @@ +CSV;Datei;als;Mime-Test
+Format;Comma;Separated;Values
+kann;mit;Excel;geöffnet
+werden;;;
diff --git a/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/MimeTest.htm b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/MimeTest.htm new file mode 100644 index 0000000..14f8f4c --- /dev/null +++ b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/MimeTest.htm @@ -0,0 +1,26 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+ "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <title>MimeTest</title>
+</head>
+<body>
+ <h1>MimeTest</h1>
+ <p>
+ Testen Sie mit untenstehendem Link die korrekte Eintragung
+ des MIME-Typs für PowerPoint-Dateien im Server.
+ </p>
+ <p>
+ Netscape benötigt diesen Eintrag;
+ Internet Explorer verwendet stattdessen die Datei-Endung.
+ </p>
+ <p>
+ Tragen Sie den MIME-Typ "application/vnd.ms-excel" so ein, dass
+ <a href="MimeTest.csv">hiermit MimeTest.csv von Netscape zum Download von Apache</a>
+ angeboten wird. Falls Netscape die Datei direkt anzeigt, stimmt der MIME-Typ nicht.
+ Apache sendet für ihm unbekannte Dateitypen nämlich "text/plain" (eventuell müssen
+ Sie nach der Änderung noch den Cache des Browsers löschen).
+ </p>
+</body>
+</html>
\ No newline at end of file diff --git a/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/b-bestellzustand.html b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/b-bestellzustand.html new file mode 100644 index 0000000..fb92bae --- /dev/null +++ b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/b-bestellzustand.html @@ -0,0 +1,60 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+ "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+ <title>Pizzabäcker (bestellte Pizza)</title>
+ <link rel="stylesheet" type="text/css" href="formats.css">
+ <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
+</head>
+
+<body>
+
+ <h1>Pizzabäcker (bestellte Pizza)</h1>
+ <table>
+ <tr>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ </td>
+ <td>im Ofen
+ </td>
+ <td>fertig
+ </td>
+ </tr>
+ <tr>
+ <td>Margeritha
+ </td>
+ <td><input type="radio" name="status_marg">
+ </td>
+ <td><input type="radio" name="status_marg">
+ </td>
+ </tr>
+ <tr>
+ <td>Salami
+ </td>
+ <td><input type="radio" name="status_sal">
+ </td>
+ <td><input type="radio" name="status_sal">
+ </td>
+ </tr>
+ <tr>
+ <td>Hawaii
+ </td>
+ <td><input type="radio" name="status_hawaii">
+ </td>
+ <td><input type="radio" name="status_hawaii">
+ </td>
+ </tr>
+ <tr>
+ <td>Tonno
+ </td>
+ <td><input type="radio" name="status_tonno">
+ </td>
+ <td><input type="radio" name="status_tonno">
+ </td>
+ </tr>
+ </table>
+</body>
+</html>
diff --git a/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/b-bestellzustand.php b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/b-bestellzustand.php new file mode 100644 index 0000000..f1d7407 --- /dev/null +++ b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/b-bestellzustand.php @@ -0,0 +1,126 @@ +<?php
+ include ("classes.inc");
+ $Con=mysql_connect('localhost','ewa','ewa',3306)
+ or die('Could not connect: ' . mysql_error());
+ mysql_select_db('ewa') or die('Could not select database');
+ $query = "SELECT b.AuftragNr, b.SessionId, p.Bezeichnung, b.Lieferadresse, b.Zustand
+ FROM t_bestellung b
+ NATURAL JOIN t_pizza p
+ WHERE b.zustand = 'bestellt' OR b.zustand='imOfen' OR b.zustand='fertig'
+ ORDER BY Lieferadresse,Zeitpunkt
+ ";
+ $result = mysql_query($query) or die('Query failed: ' . mysql_error());
+
+ $Best=array();
+
+ $n=0;
+ while($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
+ $Best[$n] = new Bestellung(
+ $line[AuftragNr],
+ $line[SessionId],
+ $line[Lieferadresse],
+ $line[Bezeichnung],
+ $line[Zustand]
+ );
+ $n++;
+ }
+ //if (isset($_POST))
+ if (isset($_GET))
+ {
+ foreach ($_GET as $key => $val)
+ //echo "$key $val \n";
+ {
+ $auftrg_nr = substr($key,2);
+ //echo $auftrg_nr;
+ }
+
+ //if(is_array($Best))
+ {
+ //print_r($Best);
+ foreach ($Best as $aktBest) {
+ if ($aktBest->AuftNr == $auftrg_nr)
+ {
+ $pzAktZust = $aktBest->zustand;
+ $newZustand=$pzAktZust;
+ if ($pzAktZust == 'bestellt')
+ $newZustand = 'imOfen';
+ else if ($pzAktZust == 'imOfen')
+ $newZustand = 'fertig';
+ }
+ }
+ }
+
+ $update_str = "UPDATE t_bestellung b SET Zustand='$newZustand' WHERE b.AuftragNr = '$auftrg_nr'";
+ //echo $update_str;
+ $res = mysql_query($update_str) or die('Query failed: ' . mysql_error());
+ }
+?>
+
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+ "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+ <script type="text/javascript">
+ <!--
+ function submit_form() {
+ document.baecker.submit();
+ //parent.location.reload();
+ }
+ -->
+ </script>
+ <title>Pizzabäcker (bestellte Pizza)</title>
+ <link rel="stylesheet" type="text/css" href="formats.css">
+ <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
+</head>
+
+<body>
+
+ <h1>Pizzabäcker (bestellte Pizza)</h1>
+ <?php
+ //echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\" name=\"baecker\">";
+ echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"GET\" name=\"baecker\">";
+ //echo "<form action=\"http://www.fbi.h-da.de/cgi-bin/Echo.pl\" method=\"POST\" name=\"baecker\">";
+ ?>
+ <table>
+ <tr>
+ <td class="dummy">
+ </td>
+ </tr>
+ <tr>
+ <td class="dummy">
+ </td>
+ <td>im Ofen
+ </td>
+ <td>fertig
+ </td>
+ </tr>
+ <?php
+ if (is_array($Best))
+ {
+ foreach ($Best as $aktBest)
+ {
+ $nr=$aktBest->getauftnr();
+ echo"<tr>\n<td>";
+ $aktName =$aktBest->getpiz_name();
+ echo $aktName;
+ $aktZustand = $aktBest->zustand;
+ echo "</td>";
+ if ($aktZustand == 'imOfen') {
+ echo "<td><input type=\"radio\" name=\"nr$nr\" CHECKED DISABLED></td>\n";
+ echo "<td><input onclick=\"submit_form()\" type=\"radio\" name=\"nr$nr\"></td>\n";
+ }
+ else if ($aktZustand == 'bestellt') {
+ echo "<td><input onclick=\"submit_form()\" type=\"radio\" name=\"nr$nr\"></td>\n";
+ echo "<td><input type=\"radio\" name=\"nr$nr\" DISABLED></td>\n";
+ } else if ($aktZustand == 'fertig') {
+ echo "<td><input type=\"radio\" name=\"nr$nr\" DISABLED></td>\n";
+ echo "<td><input type=\"radio\" name=\"nr$nr\" CHECKED DISABLED></td>\n";
+ }
+ echo "</tr>\n";
+ }
+ }
+ ?>
+ </table>
+ </form>
+</body>
+</html>
\ No newline at end of file diff --git a/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/classes.inc b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/classes.inc new file mode 100644 index 0000000..34c7028 --- /dev/null +++ b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/classes.inc @@ -0,0 +1,52 @@ +<?php
+class Pizza {
+ var $nummer;
+ var $name;
+ var $bild;
+ var $preis;
+
+ function Pizza($nummer,$name,$bild,$preis) {
+ $this->nummer=$nummer;
+ $this->name=$name;
+ $this->bild=$bild;
+ $this->preis=$preis;
+ }
+ function getnummer() {
+ return $this->nummer;
+ }
+ function getname() {
+ return $this->name;
+ }
+ function getbild() {
+ return $this->bild;
+ }
+ function getpreis() {
+ return $this->preis;
+ }
+}
+
+class Bestellung {
+ var $AuftNr;
+ var $SessionID;
+ var $adresse;
+ var $piz_name;
+ var $zustand;
+
+ function Bestellung($AuftNr,$SessionID,$adresse,$piz_name,$zustand) {
+ $this->AuftNr = $AuftNr;
+ $this->SessionID = $SessionID;
+ $this->adresse = $adresse;
+ $this->piz_name = $piz_name;
+ $this->zustand = $zustand;
+ }
+ function getpiz_name() {
+ return $this->piz_name;
+ }
+ function getauftnr() {
+ return $this->AuftNr;
+ }
+ function getzustand() {
+ return $this->zustand;
+ }
+}
+?>
\ No newline at end of file diff --git a/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/f-fahrer.html b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/f-fahrer.html new file mode 100644 index 0000000..a7e9564 --- /dev/null +++ b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/f-fahrer.html @@ -0,0 +1,37 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+ "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+ <title>Fahrer</title>
+ <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
+ <link rel="stylesheet" type="text/css" href="formats.css">
+</head>
+
+<body>
+ <h1>Fahrer</h1>
+ <table>
+ <tr>
+ <td>
+ </td>
+ <td>unterwegs
+ </td>
+ <td>geliefert
+ </td>
+ </tr>
+ <!-- Pizzen -->
+ <tr>
+ <td>Salami
+ </td>
+ <td><input type="radio" name="pizza1"></td>
+ <td><input type="radio" name="pizza1"></td>
+ </tr>
+ <!-- Adresse -->
+ <tr>
+ <td class="kunde" colspan="2">
+ Adresse Kunde 1
+ </td>
+ <td class="kunde" id="preis">1,00 €</td>
+ </tr>
+ </table>
+</body>
+</html>
diff --git a/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/f-fahrer.php b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/f-fahrer.php new file mode 100644 index 0000000..696a9fd --- /dev/null +++ b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/f-fahrer.php @@ -0,0 +1,161 @@ +<?php
+ include ("classes.inc");
+ $Con=mysql_connect('localhost','ewa','ewa',3306)
+ or die('Could not connect: ' . mysql_error());
+ mysql_select_db('ewa') or die('Could not select database');
+ $query = "SELECT b.AuftragNr, b.SessionId, p.Bezeichnung, b.Lieferadresse, b.Zustand
+ FROM t_bestellung b
+ NATURAL JOIN t_pizza p
+ WHERE Zustand='unterwegs' or Zustand='geliefert' or Zustand='fertig'
+ ORDER BY Zeitpunkt
+ ";
+ $result = mysql_query($query) or die('Query failed: ' . mysql_error());
+
+ $Best = array();
+ $Adressen = array();
+
+ $n=0;
+ while($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
+ $Best[$n] = new Bestellung($line[AuftragNr],
+ $line[SessionId],
+ $line[Lieferadresse],
+ $line[Bezeichnung],
+ $line[Zustand]
+ );
+ $n++;
+ }
+ $adr_query =
+ "SELECT DISTINCT Lieferadresse
+ FROM t_bestellung
+ WHERE Zustand='unterwegs' or Zustand='geliefert' or Zustand='fertig'
+ ";
+ $adr_result = mysql_query($adr_query) or die('Query failed: ' . mysql_error());
+ $a=0;
+ while($adr_line = mysql_fetch_array($adr_result, MYSQL_ASSOC)) {
+ $Adressen[$a] = $adr_line[Lieferadresse];
+ $a++;
+ }
+
+ //if (isset($_POST))
+ if (isset($_GET))
+ {
+ foreach ($_GET as $key => $val)
+ {
+ //echo "$key $val \n";
+ $auftrg_nr = substr($key,2);
+ }
+ //if (is_array($Best))
+ {
+ foreach ($Best as $aktBest) {
+ if ($aktBest->AuftNr == $auftrg_nr)
+ {
+ $pzAktZust = $aktBest->getzustand();
+ $newZustand=$pzAktZust;
+ if ($pzAktZust == 'fertig')
+ $newZustand = 'unterwegs';
+ else if ($pzAktZust == 'unterwegs')
+ $newZustand = 'geliefert';
+ }
+ }
+ }
+ /*else
+ {
+ echo "HERE" ;
+ }*/
+
+ $update_str = "UPDATE t_bestellung b SET Zustand='$newZustand' WHERE b.AuftragNr = '$auftrg_nr'";
+ $res = mysql_query($update_str) or die('Query failed: ' . mysql_error());
+ $del_str = "DELETE FROM t_bestellung WHERE Zustand = 'geliefert' or Zustand=''";
+ $res = mysql_query($del_str) or die('Query failed: ' . mysql_error());
+ }
+?>
+
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+ "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+ <title>Fahrer</title>
+ <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
+ <link rel="stylesheet" type="text/css" href="formats.css">
+ <script type="text/javascript">
+ <!--
+ function submit_form() {
+ document.fahrer.submit();
+ //parent.location.reload();
+ }
+ -->
+ </script>
+</head>
+
+<body>
+ <h1>Fahrer</h1>
+ <?php
+ //echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\" name=\"fahrer\">";
+ echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"GET\" name=\"fahrer\">";
+ //echo "<form action=\"http://www.fbi.h-da.de/cgi-bin/Echo.pl\" method=\"POST\" name=\"baecker\">";
+ ?>
+ <table>
+ <tr>
+ <td class="dummy">
+ </td>
+ </tr>
+ <tr>
+ <td class="dummy">
+ </td>
+ <td>unterwegs
+ </td>
+ <td>geliefert
+ </td>
+ </tr>
+ <?php
+
+ //if(is_array($Adressen))
+ foreach($Adressen as $akt_adr)
+ {
+ //if(is_array($Best))
+ {
+ foreach ($Best as $aktBest)
+ {
+ if ($akt_adr == $aktBest->adresse)
+ {
+ echo "<tr>\n";
+ echo "<td>";
+ $aktName = $aktBest->getpiz_name();
+ $nr = $aktBest->getauftnr();
+ $aktZustand = $aktBest->getzustand();
+ echo $aktName;
+ echo "</td>\n";
+ if ($aktZustand == 'fertig') {
+ echo "<td><input type=\"radio\" onclick=\"submit_form()\" name=\"nr$nr\" ></td>\n";
+ echo "<td><input type=\"radio\" name=\"nr$nr\" DISABLED></td>\n";
+ } else if ($aktZustand == 'unterwegs') {
+ echo "<td><input type=\"radio\" name=\"nr$nr\" DISABLED CHECKED> </td>\n";
+ echo "<td><input type=\"radio\" onclick=\"submit_form()\" name=\"nr$nr\"></td>\n";
+ } else if ($aktZustand == 'geliefert') {
+ echo "<td><input type=\"radio\" name=\"nr$nr\" DISABLED CHECKED> </td>\n";
+ echo "<td><input type=\"radio\" name=\"nr$nr\" DISABLED CHECKED> </td>\n";
+ }
+ echo "</tr>\n";
+ }
+ }
+ }
+
+ ?>
+ <!-- Adresse -->
+ <tr>
+ <td class="kunde" colspan="2">
+ <?php
+ echo $akt_adr."\n</td>\n";
+ $preis_query = "SELECT sum(Preis) FROM t_pizza p NATURAL JOIN t_bestellung WHERE Lieferadresse = '$akt_adr'";
+ $preis_result = mysql_query($preis_query) or die('Query failed: ' . mysql_error());
+ $preis = number_format(mysql_result($preis_result,0),2,".",",");
+ ?>
+ <td class="kunde" id="preis">
+ <?php echo $preis ?>
+ €</td>
+ </tr>
+ <?php } ?>
+ </table>
+ </form>
+</body>
+</html>
\ No newline at end of file diff --git a/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/formats.css b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/formats.css new file mode 100644 index 0000000..56836f8 --- /dev/null +++ b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/formats.css @@ -0,0 +1,22 @@ +h1 {
+ font-size:2em;
+ font-family:Arial,sans-serif;
+ background-color:rgb(36,139,205);
+ color:rgb(0,0,0);
+}
+td {
+ font-size:1em;
+ font-family:Arial,sans-serif;
+}
+td.kunde {
+ font-weight:bold;
+}
+
+td.dummy {
+ width: 100px;
+}
+
+select {
+ height: 100px;
+ width: 250px;
+}
\ No newline at end of file diff --git a/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/functions.js b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/functions.js new file mode 100644 index 0000000..5ccc03c --- /dev/null +++ b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/functions.js @@ -0,0 +1,97 @@ +function hello() {
+ alert("Hello");
+}
+
+function addToCart(pizzaname) {
+ var warenkorb = document.getElementById("warenkorb");
+ var newElem = document.createElement("option");
+ var newText = document.createTextNode(pizzaname);
+ var dummyElem = document.getElementById("dummy");
+ newElem.appendChild(newText);
+ if (dummyElem != null)
+ {
+ warenkorb.removeChild(dummyElem);
+ }
+ warenkorb.appendChild(newElem);
+ newElem.id="opt"+eval(warenkorb.length);
+ sumCart();
+}
+
+function delFromCart() {
+ var warenkorb = document.getElementById("warenkorb");
+ for (i=warenkorb.length-1;i>=0;i--)
+ {
+ if (warenkorb.options[i].selected == true)
+ warenkorb.removeChild(warenkorb.options[i]);
+ }
+ sumCart();
+}
+
+function checkAddr() {
+ var ka = document.getElementById("kd_adr");
+ if ((ka.value == "") || (ka.value == "Ihre Adresse"))
+ {
+ alert ("Bitte Adresse korrigieren");
+ return false;
+ }
+ else
+ return true;
+}
+
+function allePizzen() {
+ var aPizzaname = new Array ("Salami","Hawaii","Tonno","Marghetita");
+ //this.pizza_getPreis(pizzaname);
+ //this.pizza_showAll();
+ this.getPreis=pizza_getPreis;
+}
+
+function preisliste() {
+ var aPizzen=new Array();
+ aPizzen["Salami"]=4.50;
+ aPizzen["Hawaii"]=4.50;
+ aPizzen["Tonno"]=5.00;
+ aPizzen["Marghetita"]=4.00;
+ return aPizzen;
+}
+
+function pizza_getPreis(pizzaname) {
+ var pl = preisliste();
+ return pl[pizzaname];
+}
+
+function sumCart() {
+ // loop over all pizza in cart
+ // print total price
+ var ap = new allePizzen();
+ var sum=0;
+ var warenkorb = document.getElementById("warenkorb");
+ //alert(warenkorb.length);
+ //for (i=0;i<warenkorb.length;i++)
+ for (i=0;i<warenkorb.length;i++)
+ {
+ sum= sum+ap.getPreis(warenkorb.options[i].text);
+ }
+ //alert(sum);
+ var elem = document.getElementById("ausgabe_preis");
+ //elem.textContent=String(sum.toFixed(2))+" €";
+ elem.innerHTML=String(sum.toFixed(2))+" €";
+}
+
+function selectAll() {
+ //var warenkorb = document.getElementById("warenkorb");
+ //alert(warenkorb.length);
+ //for (i=0;i<warenkorb.length;i++)
+ //for (i=0;i<warenkorb.length;i++)
+ //{
+ //warenkorb.options[i].selected=true;
+ //}
+}
+
+function deleteAll() {
+ var warenkorb = document.getElementById("warenkorb");
+ for (i=warenkorb.length-1;i>=0;i--)
+ {
+ warenkorb.removeChild(warenkorb.options[i]);
+ }
+ sumCart();
+}
\ No newline at end of file diff --git a/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/httpd.conf b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/httpd.conf new file mode 100644 index 0000000..fb2051a --- /dev/null +++ b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/httpd.conf @@ -0,0 +1,530 @@ +#
+# This is the main Apache HTTP server configuration file. It contains the
+# configuration directives that give the server its instructions.
+# See <URL:http://httpd.apache.org/docs/2.2/> for detailed information.
+# In particular, see
+# <URL:http://httpd.apache.org/docs/2.2/mod/directives.html>
+# for a discussion of each configuration directive.
+#
+# Do NOT simply read the instructions in here without understanding
+# what they do. They're here only as hints or reminders. If you are unsure
+# consult the online docs. You have been warned.
+#
+# Configuration and logfile names: If the filenames you specify for many
+# of the server's control files begin with "/" (or "drive:/" for Win32), the
+# server will use that explicit path. If the filenames do *not* begin
+# with "/", the value of ServerRoot is prepended -- so "logs/foo.log"
+# with ServerRoot set to "C:/apachefriends/xampp/apache" will be interpreted by the
+# server as "C:/apachefriends/xampp/apache/logs/foo.log".
+#
+# NOTE: Where filenames are specified, you must use forward slashes
+# instead of backslashes (e.g., "c:/apache" instead of "c:\apache").
+# If a drive letter is omitted, the drive on which Apache.exe is located
+# will be used by default. It is recommended that you always supply
+# an explicit drive letter in absolute paths, however, to avoid
+# confusion.
+#
+
+# ThreadsPerChild: constant number of worker threads in the server process
+# MaxRequestsPerChild: maximum number of requests a server process serves
+ThreadsPerChild 250
+MaxRequestsPerChild 0
+
+#
+# ServerRoot: The top of the directory tree under which the server's
+# configuration, error, and log files are kept.
+#
+# Do not add a slash at the end of the directory path. If you point
+# ServerRoot at a non-local disk, be sure to point the LockFile directive
+# at a local disk. If you wish to share the same ServerRoot for multiple
+# httpd daemons, you will need to change at least LockFile and PidFile.
+#
+ServerRoot "C:/apachefriends/xampp/apache"
+
+#
+# Listen: Allows you to bind Apache to specific IP addresses and/or
+# ports, instead of the default. See also the <VirtualHost>
+# directive.
+#
+# Change this to Listen on specific IP addresses as shown below to
+# prevent Apache from glomming onto all bound IP addresses (0.0.0.0)
+#
+#Listen 12.34.56.78:80
+Listen 80
+
+#
+# Dynamic Shared Object (DSO) Support
+#
+# To be able to use the functionality of a module which was built as a DSO you
+# have to place corresponding `LoadModule' lines at this location so the
+# directives contained in it are actually available _before_ they are used.
+# Statically compiled modules (those listed by `httpd -l') do not need
+# to be loaded here.
+#
+# Example:
+# LoadModule foo_module modules/mod_foo.so
+#
+LoadModule actions_module modules/mod_actions.so
+LoadModule alias_module modules/mod_alias.so
+LoadModule asis_module modules/mod_asis.so
+LoadModule auth_basic_module modules/mod_auth_basic.so
+#LoadModule auth_digest_module modules/mod_auth_digest.so
+#LoadModule authn_anon_module modules/mod_authn_anon.so
+#LoadModule authn_dbm_module modules/mod_authn_dbm.so
+LoadModule authn_default_module modules/mod_authn_default.so
+LoadModule authn_file_module modules/mod_authn_file.so
+#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
+#LoadModule authz_dbm_module modules/mod_authz_dbm.so
+LoadModule authz_default_module modules/mod_authz_default.so
+LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
+LoadModule authz_host_module modules/mod_authz_host.so
+LoadModule authz_user_module modules/mod_authz_user.so
+#LoadModule autoindex_module modules/mod_autoindex.so # don't load because of mod_autoindex_color.so
+#LoadModule bucketeer_module modules/mod_bucketeer.so
+#LoadModule cache_module modules/mod_cache.so
+#LoadModule disk_cache_module modules/mod_disk_cache.so
+#LoadModule file_cache_module modules/mod_file_cache.so
+#LoadModule mem_cache_module modules/mod_mem_cache.so
+#LoadModule cern_meta_module modules/mod_cern_meta.so
+#LoadModule charset_lite_module modules/mod_charset_lite.so
+LoadModule cgi_module modules/mod_cgi.so
+LoadModule dav_module modules/mod_dav.so
+LoadModule dav_fs_module modules/mod_dav_fs.so
+#LoadModule deflate_module modules/mod_deflate.so
+LoadModule dir_module modules/mod_dir.so
+#LoadModule dumpio_module modules/mod_dumpio.so
+LoadModule env_module modules/mod_env.so
+#LoadModule expires_module modules/mod_expires.so
+#LoadModule ext_filter_module modules/mod_ext_filter.so
+#LoadModule headers_module modules/mod_headers.so
+#LoadModule ident_module modules/mod_ident.so
+#LoadModule imagemap_module modules/mod_imagemap.so
+LoadModule include_module modules/mod_include.so
+LoadModule info_module modules/mod_info.so
+LoadModule isapi_module modules/mod_isapi.so
+LoadModule ldap_module modules/mod_ldap.so
+#LoadModule logio_module modules/mod_logio.so
+LoadModule log_config_module modules/mod_log_config.so
+#LoadModule log_forensic_module modules/mod_log_forensic.so
+LoadModule mime_module modules/mod_mime.so
+#LoadModule mime_magic_module modules/mod_mime_magic.so
+LoadModule negotiation_module modules/mod_negotiation.so
+#LoadModule proxy_module modules/mod_proxy.so
+#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
+#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
+#LoadModule proxy_connect_module modules/mod_proxy_connect.so
+#LoadModule proxy_http_module modules/mod_proxy_http.so
+#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
+#LoadModule rewrite_module modules/mod_rewrite.so
+LoadModule setenvif_module modules/mod_setenvif.so
+#LoadModule speling_module modules/mod_speling.so
+LoadModule status_module modules/mod_status.so
+#LoadModule unique_id_module modules/mod_unique_id.so
+#LoadModule userdir_module modules/mod_userdir.so
+#LoadModule usertrack_module modules/mod_usertrack.so
+#LoadModule version_module modules/mod_version.so
+#LoadModule vhost_alias_module modules/mod_vhost_alias.so
+LoadModule ssl_module modules/mod_ssl.so
+
+LoadModule autoindex_color_module modules/mod_autoindex_color.so
+#LoadModule mysql_auth_module modules/mod_auth_mysql.so
+#LoadModule auth_remote_module modules/mod_auth_remote.so
+#LoadModule sspi_auth_module modules/mod_auth_sspi.so
+#LoadModule log_sql_module modules/mod_log_sql.so
+#LoadModule log_sql_mysql_module modules/mod_log_sql_mysql.so
+#<IfModule ssl_module>
+# LoadModule log_sql_ssl_module modules/mod_log_sql_ssl.so
+#</IfModule>
+#LoadModule proxy_html_module modules/mod_proxy_html.so
+#LoadModule xmlns_module modules/mod_xmlns.so
+#LoadModule proxy_xml_module modules/mod_proxy_xml.so
+#LoadModule bw_module modules/mod_bw.so
+
+# 'Main' server configuration
+#
+# The directives in this section set up the values used by the 'main'
+# server, which responds to any requests that aren't handled by a
+# <VirtualHost> definition. These values also provide defaults for
+# any <VirtualHost> containers you may define later in the file.
+#
+# All of these directives may appear inside <VirtualHost> containers,
+# in which case these default settings will be overridden for the
+# virtual host being defined.
+#
+
+#
+# ServerAdmin: Your address, where problems with the server should be
+# e-mailed. This address appears on some server-generated pages, such
+# as error documents. e.g. admin@your-domain.com
+#
+ServerAdmin admin@localhost
+
+#
+# ServerName gives the name and port that the server uses to identify itself.
+# This can often be determined automatically, but we recommend you specify
+# it explicitly to prevent problems during startup.
+#
+# If your host doesn't have a registered DNS name, enter its IP address here.
+#
+ServerName localhost:80
+
+#
+# DocumentRoot: The directory out of which you will serve your
+# documents. By default, all requests are taken from this directory, but
+# symbolic links and aliases may be used to point to other locations.
+#
+DocumentRoot "d:/ewa"
+
+#
+# Each directory to which Apache has access can be configured with respect
+# to which services and features are allowed and/or disabled in that
+# directory (and its subdirectories).
+#
+# First, we configure the "default" to be a very restrictive set of
+# features.
+#
+<Directory />
+ Options FollowSymLinks
+ AllowOverride None
+ Order deny,allow
+ Deny from all
+</Directory>
+
+#
+# Note that from this point forward you must specifically allow
+# particular features to be enabled - so if something's not working as
+# you might expect, make sure that you have specifically enabled it
+# below.
+#
+
+#
+# This should be changed to whatever you set DocumentRoot to.
+#
+<Directory "d:/ewa">
+
+#
+# Possible values for the Options directive are "None", "All",
+# or any combination of:
+# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI Multiviews
+#
+# Note that "MultiViews" must be named *explicitly* --- "Options All"
+# doesn't give it to you.
+#
+# The Options directive is both complicated and important. Please see
+# http://httpd.apache.org/docs-2.0/mod/core.html#options
+# for more information.
+#
+ Options Indexes FollowSymLinks MultiViews Includes ExecCGI
+ AddType text/html .shtml
+ AddHandler server-parsed .shtml
+ AddHandler cgi-script .cgi .pl
+# ReadmeName footer.html
+#
+# AllowOverride controls what directives may be placed in .htaccess files.
+# It can be "All", "None", or any combination of the keywords:
+# Options FileInfo AuthConfig Limit
+#
+ AllowOverride All
+
+#
+# Controls who can get stuff from this server.
+#
+ Order allow,deny
+ Allow from all
+
+</Directory>
+
+#
+# DirectoryIndex: sets the file that Apache will serve if a directory
+# is requested.
+#
+<IfModule dir_module>
+ DirectoryIndex index.php index.php4 index.php3 index.cgi index.pl index.html index.htm index.shtml index.phtml
+</IfModule>
+
+#
+# The following lines prevent .htaccess and .htpasswd files from being
+# viewed by Web clients.
+#
+<FilesMatch "^\.ht">
+ Order allow,deny
+ Deny from all
+</FilesMatch>
+
+<FilesMatch "^\htpasswd">
+ Order allow,deny
+ Deny from all
+</FilesMatch>
+
+#
+# ErrorLog: The location of the error log file.
+# If you do not specify an ErrorLog directive within a <VirtualHost>
+# container, error messages relating to that virtual host will be
+# logged here. If you *do* define an error logfile for a <VirtualHost>
+# container, that host's errors will be logged there and not here.
+#
+ErrorLog D:/ewa/logs/error.log
+
+#
+# LogLevel: Control the number of messages logged to the error_log.
+# Possible values include: debug, info, notice, warn, error, crit,
+# alert, emerg.
+#
+LogLevel error
+
+<IfModule log_config_module>
+ #
+ # The following directives define some format nicknames for use with
+ # a CustomLog directive (see below).
+ #
+ LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
+ LogFormat "%h %l %u %t \"%r\" %>s %b" common
+
+ <IfModule logio_module>
+ # You need to enable mod_logio.c to use %I and %O
+ LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
+ </IfModule>
+
+ #
+ # The location and format of the access logfile (Common Logfile Format).
+ # If you do not define any access logfiles within a <VirtualHost>
+ # container, they will be logged here. Contrariwise, if you *do*
+ # define per-<VirtualHost> access logfiles, transactions will be
+ # logged therein and *not* in this file.
+ #
+ CustomLog D:/ewa/logs/access.log common
+
+ #
+ # If you prefer a logfile with access, agent, and referer information
+ # (Combined Logfile Format) you can use the following directive.
+ #
+ #CustomLog logs/access.log combined
+</IfModule>
+
+<IfModule alias_module>
+ #
+ # Redirect: Allows you to tell clients about documents that used to
+ # exist in your server's namespace, but do not anymore. The client
+ # will make a new request for the document at its new location.
+ # Example:
+ # Redirect permanent /foo http://www.example.com/bar
+
+ #
+ # Alias: Maps web paths into filesystem paths and is used to
+ # access content that does not live under the DocumentRoot.
+ # Example:
+ # Alias /webpath /full/filesystem/path
+ #
+ # If you include a trailing / on /webpath then the server will
+ # require it to be present in the URL. You will also likely
+ # need to provide a <Directory> section to allow access to
+ # the filesystem path.
+
+ #
+ # ScriptAlias: This controls which directories contain server scripts.
+ # ScriptAliases are essentially the same as Aliases, except that
+ # documents in the target directory are treated as applications and
+ # run by the server when requested rather than as documents sent to the
+ # client. The same rules about trailing "/" apply to ScriptAlias
+ # directives as to Alias.
+ #
+ #ScriptAlias /cgi-bin/ "C:/apachefriends/xampp/cgi-bin/"
+ ScriptAlias /cgi-bin/ "d:/ewa/cgi-bin/"
+
+</IfModule>
+
+#
+# "C:/apachefriends/xampp/cgi-bin" should be changed to whatever your ScriptAliased
+# CGI directory exists, if you have that configured.
+#
+<Directory "d:/ewa/cgi-bin">
+ AllowOverride None
+ Options None
+ Order allow,deny
+ Allow from all
+</Directory>
+
+#
+# Apache parses all CGI scripts for the shebang line by default.
+# This comment line, the first line of the script, consists of the symbols
+# pound (#) and exclamation (!) followed by the path of the program that
+# can execute this specific script. For a perl script, with perl.exe in
+# the C:\Program Files\Perl directory, the shebang line should be:
+
+ #!c:/program files/perl/perl
+
+# Note you _must_not_ indent the actual shebang line, and it must be the
+# first line of the file. Of course, CGI processing must be enabled by
+# the appropriate ScriptAlias or Options ExecCGI directives for the files
+# or directory in question.
+#
+# However, Apache on Windows allows either the Unix behavior above, or can
+# use the Registry to match files by extention. The command to execute
+# a file of this type is retrieved from the registry by the same method as
+# the Windows Explorer would use to handle double-clicking on a file.
+# These script actions can be configured from the Windows Explorer View menu,
+# 'Folder Options', and reviewing the 'File Types' tab. Clicking the Edit
+# button allows you to modify the Actions, of which Apache 1.3 attempts to
+# perform the 'Open' Action, and failing that it will try the shebang line.
+# This behavior is subject to change in Apache release 2.0.
+#
+# Each mechanism has it's own specific security weaknesses, from the means
+# to run a program you didn't intend the website owner to invoke, and the
+# best method is a matter of great debate.
+#
+# To enable the this Windows specific behavior (and therefore -disable- the
+# equivilant Unix behavior), uncomment the following directive:
+#
+#ScriptInterpreterSource registry
+#
+# The directive above can be placed in individual <Directory> blocks or the
+# .htaccess file, with either the 'registry' (Windows behavior) or 'script'
+# (Unix behavior) option, and will override this server default option.
+#
+
+#
+# DefaultType: the default MIME type the server will use for a document
+# if it cannot otherwise determine one, such as from filename extensions.
+# If your server contains mostly text or HTML documents, "text/plain" is
+# a good value. If most of your content is binary, such as applications
+# or images, you may want to use "application/octet-stream" instead to
+# keep browsers from trying to display binary files as though they are
+# text.
+#
+DefaultType text/plain
+
+<IfModule mime_module>
+ #
+ # TypesConfig points to the file containing the list of mappings from
+ # filename extension to MIME-type.
+ #
+ TypesConfig conf/mime.types
+
+ #
+ # AddType allows you to add to or override the MIME configuration
+ # file specified in TypesConfig for specific file types.
+ #
+ #AddType application/x-gzip .tgz
+ #
+ # AddEncoding allows you to have certain browsers uncompress
+ # information on the fly. Note: Not all browsers support this.
+ #
+ #AddEncoding x-compress .Z
+ #AddEncoding x-gzip .gz .tgz
+ #
+ # If the AddEncoding directives above are commented-out, then you
+ # probably should define those extensions to indicate media types:
+ #
+ AddType application/x-compress .Z
+ AddType application/x-gzip .gz .tgz
+ AddType application/vnd.ms-excel .csv
+
+ #
+ # AddHandler allows you to map certain file extensions to "handlers":
+ # actions unrelated to filetype. These can be either built into the server
+ # or added with the Action directive (see below)
+ #
+ # To use CGI scripts outside of ScriptAliased directories:
+ # (You will also need to add "ExecCGI" to the "Options" directive.)
+ #
+ AddHandler cgi-script .cgi
+
+ # For files that include their own HTTP headers:
+ #AddHandler send-as-is asis
+
+ # For server-parsed imagemap files:
+ #AddHandler imap-file map
+
+ # For type maps (negotiated resources):
+ #AddHandler type-map var
+
+ #
+ # Filters allow you to process content before it is sent to the client.
+ #
+ # To parse .shtml files for server-side includes (SSI):
+ # (You will also need to add "Includes" to the "Options" directive.)
+ #
+ #AddType text/html .shtml
+ #AddOutputFilter INCLUDES .shtml
+</IfModule>
+
+#
+# The mod_mime_magic module allows the server to use various hints from the
+# contents of the file itself to determine its type. The MIMEMagicFile
+# directive tells the module where the hint definitions are located.
+#
+#MIMEMagicFile conf/magic
+
+#
+# Customizable error responses come in three flavors:
+# 1) plain text 2) local redirects 3) external redirects
+#
+# Some examples:
+#ErrorDocument 500 "The server made a boo boo."
+#ErrorDocument 404 /missing.html
+#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
+#ErrorDocument 402 http://www.example.com/subscription_info.html
+#
+
+#
+# EnableMMAP and EnableSendfile: On systems that support it,
+# memory-mapping or the sendfile syscall is used to deliver
+# files. This usually improves server performance, but must
+# be turned off when serving from networked-mounted
+# filesystems or if support for these functions is otherwise
+# broken on your system.
+#
+#EnableMMAP off
+#EnableSendfile off
+
+# Supplemental configuration
+#
+# The configuration files in the conf/extra/ directory can be
+# included to add extra features or to modify the default configuration of
+# the server, or you may simply copy their contents here and change as
+# necessary.
+
+# XAMPP specific settings
+Include conf/extra/httpd-xampp.conf
+
+# Server-pool management (MPM specific)
+# Include conf/extra/httpd-mpm.conf
+
+# Multi-language error messages
+Include conf/extra/httpd-multilang-errordoc.conf
+
+# Fancy directory listings
+Include conf/extra/httpd-autoindex.conf
+
+# Language settings
+Include conf/extra/httpd-languages.conf
+
+# User home directories
+Include conf/extra/httpd-userdir.conf
+
+# Real-time info on requests and configuration
+Include conf/extra/httpd-info.conf
+
+# Virtual hosts
+Include conf/extra/httpd-vhosts.conf
+
+# Local access to the Apache HTTP Server Manual
+Include conf/extra/httpd-manual.conf
+
+# Distributed authoring and versioning (WebDAV)
+Include conf/extra/httpd-dav.conf
+
+# Various default settings
+Include conf/extra/httpd-default.conf
+
+# Secure (SSL/TLS) connections
+Include conf/extra/httpd-ssl.conf
+#
+# Note: The following must must be present to support
+# starting without SSL on platforms with no /dev/random equivalent
+# but a statically compiled-in mod_ssl.
+#
+<IfModule ssl_module>
+SSLRandomSeed startup builtin
+SSLRandomSeed connect builtin
+</IfModule>
diff --git a/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/index.html b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/index.html new file mode 100644 index 0000000..39b814b --- /dev/null +++ b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/index.html @@ -0,0 +1,31 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
+ "http://www.w3.org/TR/html4/frameset.dtd">
+
+<html>
+<head>
+ <title>Pizza-Service</title>
+ <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
+</head>
+
+<!-- <body> -->
+<!--<frameset cols="2>
+ <frame src="k-bestellung.html" name="k-bestellung">
+ <frame src="k-lieferzustand.html" name="k-lieferzustand">
+ <frame src="b-bestellzustand.html" name="b-bestellzustand">
+ <frame src="f-fahrer.html" name="f-fahrer">
+</frameset>-->
+<!-- </body> -->
+<frameset cols="70%,30%">
+ <frameset rows="70%,30%">
+ <!-- Zwei Frames, deren Inhalt hier bestimmt wird. -->
+ <!--<frame src="k-bestellung.html" name="k-bestellung">-->
+ <frame src="k-bestellung.php" name="k-bestellung">
+ <frame src="k-lieferzustand.php" name="k-lieferzustand">
+ </frameset>
+ <frameset rows="50%,50%">
+ <!-- Noch mal zwei Frames, deren Inhalt hier bestimmt wird. -->
+ <frame src="b-bestellzustand.php" name="b-bestellzustand">
+ <frame src="f-fahrer.php" name="f-fahrer">
+ </frameset>
+</frameset>
+</html>
\ No newline at end of file diff --git a/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/k-bestellung.html b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/k-bestellung.html new file mode 100644 index 0000000..f54957b --- /dev/null +++ b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/k-bestellung.html @@ -0,0 +1,104 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+ "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+ <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
+ <title>Kunde (Bestellung)</title>
+ <script type="text/javascript"
+ src="functions.js"></script>
+ <link rel="stylesheet" type="text/css" href="formats.css">
+</head>
+<!--<body onload="hello()">-->
+<body>
+ <h1>Kunde (Bestellung)
+ </h1>
+ <div>
+ <object data="pizza.swf" type="application/x-shockwave-flash" width="600" height="150">
+ <!-- <embed src="pizza.swf">
+ </embed>-->
+ </object>
+ </div>
+ <form action="http://www.fbi.h-da.de/cgi-bin/Echo.pl"
+ onsubmit="return checkAddr();" method="POST" id="bestellung">
+ <table width="100%">
+ <tr>
+ <td style="width:60%">
+ <!-- linke Tabelle Pizzen -->
+ <table>
+ <tr>
+ <td>
+ <img onclick="addToCart('Salami')" src="pizza.gif" alt="Salami"/>
+ </td>
+ <td>Salami</td>
+ <td>4.50 €</td>
+ </tr>
+ <tr>
+ <td>
+ <img onclick="addToCart('Hawaii')" src="pizza.gif" alt="Hawaii"/>
+ </td>
+ <td>Hawaii</td>
+ <td>4.50 €</td>
+
+ </tr>
+ <tr>
+ <td>
+ <img onclick="addToCart('Tonno')" src="pizza.gif" alt="Tonno"/>
+ </td>
+ <td>Tonno</td>
+ <td>5.00 €</td>
+ </tr>
+ <tr>
+ <td>
+ <img onclick="addToCart('Marghetita')" src="pizza.gif" alt="Marghetita"/>
+ </td>
+ <td>Marghetita</td>
+ <td>4.00 €</td>
+ </tr>
+ <!-- Linke Tabelle Pizzen zu-->
+ </table>
+ </td>
+ <td style="width:40%">
+ <!-- Rechte Tabelle Warenkorb -->
+ <table>
+ <tr>
+ <td colspan="2">Warenkorb
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2">
+ <!-- <textarea name="warenkorb" cols="30" rows="5"></textarea> -->
+ <select id="warenkorb" name="wk" size="5" multiple>
+ <option id="dummy" disabled></option>
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Gesamtpreis:</p>
+ </td>
+ <td>
+ <!-- 1,00 € -->
+ <div id="ausgabe_preis"> 0.00 € </div>
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2">
+ <input type="text" id="kd_adr" name="kunde_adresse" value="Ihre Adresse" >
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2">
+ <input type="submit" onclick="selectAll()" name="absenden_button" value="Absenden">
+ <input type="button" name="delete_button" value="Löschen" onclick="delFromCart()">
+ <input type="reset" name="abbrechen_button" value="Alle löschen" onclick="deleteAll()" >
+ </td>
+ </tr>
+ <!-- rechte Tabelle Warenkorb -->
+ </table>
+ </td>
+ </tr>
+ <!-- grosse Tabelle zu -->
+ </table>
+ </form>
+</body>
+</html>
\ No newline at end of file diff --git a/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/k-bestellung.php b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/k-bestellung.php new file mode 100644 index 0000000..092993b --- /dev/null +++ b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/k-bestellung.php @@ -0,0 +1,251 @@ +<?php
+ include "classes.inc";
+
+ $Con=mysql_connect('localhost','ewa','ewa',3306)
+ or die('Could not connect: ' . mysql_error());
+ mysql_select_db('ewa') or die('Could not select database');
+ $query = 'SELECT * FROM t_pizza';
+ $result = mysql_query($query) or die('Query failed: ' . mysql_error());
+ $n=0;
+
+ $Pizzen = array();
+
+ while($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
+ $Pizzen[$n] = new Pizza($line[PizNr],
+ $line[Bezeichnung],
+ $line[Bild],
+ number_format($line[Preis],2,".",",")
+ );
+ $n++;
+ }
+
+ session_start();
+
+ if(isset($_POST['wk']) && isset($_POST['kunde_adresse']))
+ {
+ if (is_array($_POST['wk']))
+ //foreach ($_POST['wk'] as $name)
+ //echo "$name\n";
+ //else
+ //echo $_POST['wk']."\n";
+ {
+ foreach ($_POST['wk'] as $name)
+ {
+ foreach ($Pizzen as $aktPizza) {
+ $tmpPizName = $aktPizza->getname();
+ if ($tmpPizName == $name)
+ $tmpNr=$aktPizza->getnummer();
+ }
+ $adr = $_POST['kunde_adresse'];
+ $sid = session_id();
+ $now = time();
+ $insert = "INSERT INTO t_bestellung(PizNr,Lieferadresse,SessionID,Zeitpunkt,Zustand) VALUES($tmpNr,'$adr','$sid','$now','bestellt')";
+ //echo $insert."\n";
+ mysql_query($insert) or die('Query failed: ' . mysql_error());
+ }
+ }
+ }
+?>
+
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+ "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+ <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
+ <title>Kunde (Bestellung)</title>
+ <script type="text/javascript">
+ <!--
+ function hello() {
+ alert("Hello");
+ }
+
+ function addToCart(pizzaname) {
+ var warenkorb = document.getElementById("warenkorb");
+ var newElem = document.createElement("option");
+ var newText = document.createTextNode(pizzaname);
+ var dummyElem = document.getElementById("dummy");
+ newElem.appendChild(newText);
+ if (dummyElem != null)
+ {
+ warenkorb.removeChild(dummyElem);
+ }
+ warenkorb.appendChild(newElem);
+ newElem.id="opt"+eval(warenkorb.length);
+ sumCart();
+ }
+
+ function delFromCart() {
+ var warenkorb = document.getElementById("warenkorb");
+ for (i=warenkorb.length-1;i>=0;i--)
+ {
+ if (warenkorb.options[i].selected == true)
+ warenkorb.removeChild(warenkorb.options[i]);
+ }
+ sumCart();
+ }
+
+ function checkAddr() {
+ var ka = document.getElementById("kd_adr");
+ if ((ka.value == "") || (ka.value == "Ihre Adresse"))
+ {
+ alert ("Bitte Adresse korrigieren");
+ return false;
+ }
+ else
+ return true;
+ }
+
+ function allePizzen() {
+ <?php
+ echo "var aPizzaname = new Array();\n";
+ $i=0;
+ foreach ($Pizzen AS $aktPizza)
+ {
+ $tmp = $aktPizza->getname();
+ echo "aPizzaname[$i] = \"$tmp\";\n";
+ $i++;
+ }
+ echo "\n";
+ ?>
+ this.getPreis=pizza_getPreis;
+ }
+
+ function preisliste() {
+ var aPizzen=new Array();
+ <?php
+ foreach ($Pizzen AS $aktPizza) {
+ $tmpName=$aktPizza->getname();
+ $tmpPreis=$aktPizza->getpreis();
+ echo "aPizzen[\"$tmpName\"] = $tmpPreis\n";
+ }
+ echo "\n";
+ ?>
+ return aPizzen;
+
+ }
+
+ function pizza_getPreis(pizzaname) {
+ var pl = preisliste();
+ return pl[pizzaname];
+ }
+
+ function sumCart() {
+ // loop over all pizza in cart
+ // print total price
+ var ap = new allePizzen();
+ var sum=0;
+ var warenkorb = document.getElementById("warenkorb");
+ //alert(warenkorb.length);
+ //for (i=0;i<warenkorb.length;i++)
+ for (i=0;i<warenkorb.length;i++)
+ {
+ sum= sum+ap.getPreis(warenkorb.options[i].text);
+ }
+ //alert(sum);
+ var elem = document.getElementById("ausgabe_preis");
+ //elem.textContent=String(sum.toFixed(2))+" €";
+ elem.innerHTML=String(sum.toFixed(2))+" €";
+ }
+
+ function selectAll() {
+ var warenkorb = document.getElementById("warenkorb");
+ //alert(warenkorb.length);
+ //for (i=0;i<warenkorb.length;i++)
+ for (i=0;i<warenkorb.length;i++)
+ {
+ warenkorb.options[i].selected=true;
+ }
+ }
+
+ function deleteAll() {
+ var warenkorb = document.getElementById("warenkorb");
+ for (i=warenkorb.length-1;i>=0;i--)
+ {
+ warenkorb.removeChild(warenkorb.options[i]);
+ }
+ sumCart();
+ }
+ //-->
+ </script>
+ <link rel="stylesheet" type="text/css" href="formats.css">
+</head>
+<!--<body onload="hello()">-->
+<body>
+ <h1>Kunde (Bestellung) <?php// echo session_id();?>
+ </h1>
+ <div>
+ <object data="pizza.swf" type="application/x-shockwave-flash" width="600" height="150">
+ <!-- <embed src="pizza.swf">
+ </embed>-->
+ </object>
+ </div>
+ <!--<form action="http://www.fbi.h-da.de/cgi-bin/Echo.pl"-->
+ <?php
+ echo "<form action=\"".$_SERVER['PHP_SELF']."\"";
+ ?>
+ onsubmit="return checkAddr();" method="POST" id="bestellung">
+ <table width="100%">
+ <tr>
+ <td style="width:60%">
+ <!-- linke Tabelle Pizzen -->
+ <table>
+ <?php
+ foreach ($Pizzen as $aktPizza) {
+ $tmpName = $aktPizza->getname();
+ $tmpPreis = $aktPizza->getpreis();
+ $tmpBild=$aktPizza->getbild();
+ echo "<tr><td><img onclick=\"addToCart('$tmpName')\" src=\"$tmpBild\" alt=\"$tmpName\" /></td>\n";
+ echo "<td>$tmpName</td>\n<td>";
+ echo $tmpPreis;
+ echo " €</td></tr>\n";
+ }
+ ?>
+ <!-- Linke Tabelle Pizzen zu
+ -->
+ </table>
+ </td>
+ <td style="width:40%">
+ <!-- Rechte Tabelle Warenkorb -->
+ <table>
+ <tr>
+ <td colspan="2">Warenkorb
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2">
+ <!-- <textarea name="warenkorb" cols="30" rows="5"></textarea> -->
+ <select id="warenkorb" name="wk[]" size="5" multiple>
+ <option id="dummy" disabled></option>
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Gesamtpreis:</p>
+ </td>
+ <td>
+ <!-- 1,00 € -->
+ <div id="ausgabe_preis"> 0.00 € </div>
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2">
+ <input type="text" id="kd_adr" name="kunde_adresse" value="Ihre Adresse" >
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2">
+ <input type="submit" onclick="selectAll()" name="absenden_button" value="Absenden">
+ <input type="button" name="delete_button" value="Löschen" onclick="delFromCart()">
+ <input type="reset" name="abbrechen_button" value="Alle löschen" onclick="deleteAll()" >
+ </td>
+ </tr>
+ <!-- rechte Tabelle Warenkorb -->
+ </table>
+ </td>
+ </tr>
+ <!-- grosse Tabelle zu -->
+ </table>
+ </form>
+</body>
+</html>
\ No newline at end of file diff --git a/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/k-lieferzustand.html b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/k-lieferzustand.html new file mode 100644 index 0000000..bb54f50 --- /dev/null +++ b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/k-lieferzustand.html @@ -0,0 +1,69 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+ "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+ <title>Kunde (Lieferzustand)</title>
+ <link rel="stylesheet" type="text/css" href="formats.css">
+ <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
+</head>
+
+<body>
+ <h1>Kunde (Lieferzustand)</h1>
+ <table>
+ <tr>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ </td>
+ <td>im Ofen
+ </td>
+ <td>fertig
+ </td>
+ <td>unterwegs
+ </td>
+ </tr>
+ <tr>
+ <td>Margeritha
+ </td>
+ <td><input type="radio" name="status_marg" disabled>
+ </td>
+ <td><input type="radio" name="status_marg" disabled>
+ </td>
+ <td><input type="radio" name="status_marg" disabled>
+ </td>
+ </tr>
+ <tr>
+ <td>Salami
+ </td>
+ <td><input type="radio" name="status_sal">
+ </td>
+ <td><input type="radio" name="status_sal">
+ </td>
+ <td><input type="radio" name="status_sal">
+ </td>
+ </tr>
+ <tr>
+ <td>Hawaii
+ </td>
+ <td><input type="radio" name="status_hawaii">
+ </td>
+ <td><input type="radio" name="status_hawaii">
+ </td>
+ <td><input type="radio" name="status_hawaii">
+ </td>
+ </tr>
+ <tr>
+ <td>Tonno
+ </td>
+ <td><input type="radio" name="status_tonno">
+ </td>
+ <td><input type="radio" name="status_tonno">
+ </td>
+ <td><input type="radio" name="status_tonno">
+ </td>
+ </tr>
+ </table>
+</body>
+</html>
diff --git a/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/k-lieferzustand.php b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/k-lieferzustand.php new file mode 100644 index 0000000..3d55af5 --- /dev/null +++ b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/k-lieferzustand.php @@ -0,0 +1,91 @@ +<?php
+ include ("classes.inc");
+ session_start();
+ $Con=mysql_connect('localhost','ewa','ewa',3306)
+ or die('Could not connect: ' . mysql_error());
+ mysql_select_db('ewa') or die('Could not select database');
+ $sid = session_id();
+ $query = "SELECT b.AuftragNr,b.SessionId, p.Bezeichnung, b.Lieferadresse, b.Zustand
+ FROM t_bestellung b
+ NATURAL JOIN t_pizza p
+ WHERE b.SessionId = '$sid'
+ ";
+ $result = mysql_query($query) or die('Query failed: ' . mysql_error());
+
+ $n=0;
+ while($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
+ $KDBest[$n] = new Bestellung($line[AuftragNr],
+ $line[SessionId],
+ $line[Lieferadresse],
+ $line[Bezeichnung],
+ $line[Zustand]
+ );
+ $n++;
+ }
+?>
+
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+ "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+ <title>Kunde (Lieferzustand)</title>
+ <link rel="stylesheet" type="text/css" href="formats.css">
+ <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
+</head>
+
+<body>
+ <h1>Kunde (Lieferzustand)</h1>
+ <table>
+ <tr>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td class="dummy">
+ </td>
+ <td>im Ofen
+ </td>
+ <td>fertig
+ </td>
+ <td>unterwegs
+ </td>
+ </tr>
+ <?php
+ if (is_array($KDBest))
+ {
+ foreach($KDBest as $aktBest)
+ {
+ $aktZustand = $aktBest->getzustand();
+ $nr = $aktBest->getauftnr();
+ $tmpName = $aktBest->getpiz_name();
+ echo "<tr>";
+ echo "<td>$tmpName</td>";
+ if ($aktZustand == 'imOfen') {
+ echo "<td><input type=\"radio\" name=\"nr$nr\" CHECKED DISABLED></td>\n";
+ echo "<td><input type=\"radio\" name=\"nr$nr\" DISABLED></td>\n";
+ echo "<td><input type=\"radio\" name=\"nr$nr\" DISABLED></td>\n";
+ }
+ else if ($aktZustand == 'bestellt') {
+ echo "<td><input type=\"radio\" name=\"nr$nr\" DISABLED></td>\n";
+ echo "<td><input type=\"radio\" name=\"nr$nr\" DISABLED></td>\n";
+ echo "<td><input type=\"radio\" name=\"nr$nr\" DISABLED></td>\n";
+ } else if ($aktZustand == 'fertig') {
+ echo "<td><input type=\"radio\" name=\"nr$nr\" DISABLED></td>\n";
+ echo "<td><input type=\"radio\" name=\"nr$nr\" CHECKED DISABLED></td>\n";
+ echo "<td><input type=\"radio\" name=\"nr$nr\" DISABLED></td>\n";
+ } else if ($aktZustand == 'unterwegs') {
+ echo "<td><input type=\"radio\" name=\"nr$nr\" DISABLED></td>\n";
+ echo "<td><input type=\"radio\" name=\"nr$nr\" DISABLED></td>\n";
+ echo "<td><input type=\"radio\" name=\"nr$nr\" CHECKED DISABLED></td>\n";
+ } else {
+ echo "<td><input type=\"radio\" name=\"nr$nr\" DISABLED></td>\n";
+ echo "<td><input type=\"radio\" name=\"nr$nr\" DISABLED></td>\n";
+ echo "<td><input type=\"radio\" name=\"nr$nr\" DISABLED></td>\n";
+ }
+ echo "</tr>";
+ }
+ }
+ ?>
+ </table>
+</body>
+</html>
\ No newline at end of file diff --git a/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/pizza.fla b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/pizza.fla Binary files differnew file mode 100644 index 0000000..49fd52c --- /dev/null +++ b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/pizza.fla diff --git a/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/pizza.gif b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/pizza.gif Binary files differnew file mode 100644 index 0000000..3eaa227 --- /dev/null +++ b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/pizza.gif diff --git a/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/pizza.swf b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/pizza.swf Binary files differnew file mode 100644 index 0000000..5f9a31a --- /dev/null +++ b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/pizza.swf diff --git a/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/t_pizza.sql b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/t_pizza.sql new file mode 100644 index 0000000..54b33aa --- /dev/null +++ b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum5_6/t_pizza.sql @@ -0,0 +1,51 @@ +-- phpMyAdmin SQL Dump +-- version 2.7.0-pl1 +-- http://www.phpmyadmin.net +-- +-- Host: localhost +-- Generation Time: Jun 12, 2006 at 12:23 PM +-- Server version: 5.0.18 +-- PHP Version: 5.1.1 +-- +-- Database: `pizza` +-- + +-- -------------------------------------------------------- + +drop table if exists `t_bestellung`; +drop table if exists `t_pizza`; + +-- +-- Table structure for table `t_pizza` +-- + +CREATE TABLE `t_pizza` ( + `PizNr` int(11) NOT NULL, + `Bild` varchar(100) collate latin1_german1_ci NOT NULL, + `Bezeichnung` varchar(100) collate latin1_german1_ci NOT NULL, + `Preis` float NOT NULL, + PRIMARY KEY (`PizNr`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci; + +-- +-- Dumping data for table `t_pizza` +-- + +INSERT INTO `t_pizza` (`PizNr`, `Bild`, `Bezeichnung`, `Preis`) VALUES (1, 'pizza.gif', 'Salami', 4.99); +INSERT INTO `t_pizza` (`PizNr`, `Bild`, `Bezeichnung`, `Preis`) VALUES (2, 'pizza.gif', 'Speciale', 5.49); +INSERT INTO `t_pizza` (`PizNr`, `Bild`, `Bezeichnung`, `Preis`) VALUES (3, 'pizza.gif', 'Tonno', 5.49); +INSERT INTO `t_pizza` (`PizNr`, `Bild`, `Bezeichnung`, `Preis`) VALUES (4, 'pizza.gif', 'Hawaii', 5.99); + +CREATE TABLE `t_bestellung` ( + `AuftragNr` int(11) NOT NULL AUTO_INCREMENT, + `PizNr` int(11) NOT NULL, + `Zeitpunkt` varchar(100), + `Lieferadresse` varchar(100) NOT NULL, + `SessionID` varchar(100) NOT NULL, + `Zustand` varchar(10) NOT NULL, + PRIMARY KEY (`AuftragNr`), + FOREIGN KEY (`PizNr`) REFERENCES t_pizza(`PizNr`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci; + +-- + |
