diff --git a/src/Praktikum/Prak5/Baecker.php b/src/Praktikum/Prak5/Baecker.php
new file mode 100644
index 0000000000000000000000000000000000000000..d1a0399675391668a51d1d1428f3b04e151b1fdd
--- /dev/null
+++ b/src/Praktikum/Prak5/Baecker.php
@@ -0,0 +1,224 @@
+<?php declare(strict_types=1);
+// UTF-8 marker äöüÄÖÜ߀
+/**
+ * Class baecker for the exercises of the EWA lecture
+ * Demonstrates use of PHP including class and OO.
+ * Implements Zend coding standards.
+ * Generate documentation with Doxygen or phpdoc
+ *
+ * PHP Version 7.4
+ *
+ * @file     baecker.php
+ * @package  Page Templates
+ * @author   Bernhard Kreling, <bernhard.kreling@h-da.de>
+ * @author   Ralf Hahn, <ralf.hahn@h-da.de>
+ * @version  3.1
+ */
+
+// to do: change name 'baecker' throughout this file
+require_once './Page.php';
+require_once './DB_Classes/OrderedArticle.php';
+/**
+ * This is a template for top level classes, which represent
+ * a complete web page and which are called directly by the user.
+ * Usually there will only be a single instance of such a class.
+ * The name of the template is supposed
+ * to be replaced by the name of the specific HTML page e.g. baker.
+ * The order of methods might correspond to the order of thinking
+ * during implementation.
+ * @author   Bernhard Kreling, <bernhard.kreling@h-da.de>
+ * @author   Ralf Hahn, <ralf.hahn@h-da.de>
+ */
+class Baecker extends Page
+{
+    // to do: declare reference variables for members
+    // representing substructures/blocks
+
+    /**
+     * Instantiates members (to be defined above).
+     * Calls the constructor of the parent i.e. page class.
+     * So, the database connection is established.
+     * @throws Exception
+     */
+    protected function __construct()
+    {
+        parent::__construct();
+        // to do: instantiate members representing substructures/blocks
+    }
+
+    /**
+     * Cleans up whatever is needed.
+     * Calls the destructor of the parent i.e. page class.
+     * So, the database connection is closed.
+     */
+    public function __destruct()
+    {
+        parent::__destruct();
+    }
+
+    /**
+     * Fetch all data that is necessary for later output.
+     * Data is returned in an array e.g. as associative array.
+     * @return array An array containing the requested data.
+     * This may be a normal array, an empty array or an associative array.
+     */
+    protected function getViewData():array
+    {
+        $query = "SELECT * FROM ordered_article;";
+        $resultSet = $this->_database->query($query);
+        $orderedArticleList = array();
+
+        while ($row = $resultSet->fetch_assoc()) {
+
+            $orderedArticle = new OrderedArticle(
+                (int)$row["ordered_article_id"], (int)$row["ordering_id"], (int)$row["article_id"], (int)$row["status"]
+            );
+
+            $orderedArticleList[$orderedArticle->getOrderedArticleId()] = $orderedArticle;
+        }
+        $resultSet->free_result();
+        return $orderedArticleList;
+    }
+
+    /**
+     * First the required data is fetched and then the HTML is
+     * assembled for output. i.e. the header is generated, the content
+     * of the page ("view") is inserted and -if available- the content of
+     * all views contained is generated.
+     * Finally, the footer is added.
+     * @return void
+     */
+    protected function generateView():void
+    {
+        $data = $this->getViewData(); //NOSONAR ignore unused $data
+        $this->generatePageHeader('Bäcker',"",true); //to do: set optional parameters
+        echo <<< HTML
+        \n<section id="baecker">
+            <h2>Bestellung</h2>
+
+            <form id="formBaecker" accept-charset="UTF-8" action="#" method="post">\n
+HTML;
+
+        $noOrders = true;
+        foreach ($data as $order){
+            $query = "SELECT UNIQUE name FROM article, ordered_article
+                   WHERE article.article_id = {$order->getArticleId()};";
+            $resultSet = $this->_database->query($query);
+            $resultArray = $resultSet->fetch_assoc();
+            $resultSet->free_result();
+
+            $pizzaName = htmlspecialchars($resultArray["name"]);
+            $orderedArticleId = $order->getOrderedArticleId();
+
+            $status = $order->getStatus();
+            if ($status > 2 ) {
+                continue;
+            }
+            else {
+                $noOrders = false;
+            }
+
+            $statusArray = array_fill(0, 5, "");
+            $statusArray[$status] = "checked";
+
+            echo <<< HTML
+                    <fieldset>
+                        <legend>Bestellung {$order->getOrderingId()} Pizza {$pizzaName}</legend>
+                        Status: <br>
+                        <label>
+                            <input type="radio" name="{$orderedArticleId}" value="0" {$statusArray[0]} onclick="document.forms['formBaecker'].submit();">
+                            Bestellt
+                        </label> <br>
+                        
+                        <label>
+                            <input type="radio" name="{$orderedArticleId}" value="1" {$statusArray[1]} onclick="document.forms['formBaecker'].submit();">
+                            Im Ofen
+                        </label> <br>
+                        
+                        <label>
+                            <input type="radio" name="{$orderedArticleId}" value="2" {$statusArray[2]} onclick="document.forms['formBaecker'].submit();">
+                            Fertig
+                        </label>
+                    </fieldset>\n
+HTML;
+        }
+
+        if ($noOrders) {
+
+            echo <<< HTML
+                \n<p>Es gibt keine Bestellungen</p>
+HTML;
+        }
+
+        echo <<< HTML
+            </form>
+        </section>\n
+HTML;
+
+        $this->generatePageFooter();
+    }
+
+    /**
+     * Processes the data that comes via GET or POST.
+     * If this page is supposed to do something with submitted
+     * data do it here.
+     * @return void
+     */
+    protected function processReceivedData():void
+    {
+        parent::processReceivedData();
+        // to do: call processReceivedData() for all members
+        $data = $this->getViewData();
+        foreach ($data as $order){
+            $orderedArticleId = $order->getOrderedArticleId();
+            if (isset($_POST["{$orderedArticleId}"]) && is_numeric($_POST["{$orderedArticleId}"])) {
+                $status = $this->_database->real_escape_string($_POST["{$orderedArticleId}"]);
+                $query = "UPDATE ordered_article SET status = {$status}
+                       WHERE ordered_article.ordered_article_id = {$orderedArticleId};";
+                $this->_database->query($query);
+            }
+        }
+
+        // On Post => Reload
+        if (isset($_POST["save"])) {
+            header("HTTP/1.1 303 See Other");
+            header('Location: ' . $_SERVER['REQUEST_URI']);
+            die;
+        }
+    }
+
+    /**
+     * This main-function has the only purpose to create an instance
+     * of the class and to get all the things going.
+     * I.e. the operations of the class are called to produce
+     * the output of the HTML-file.
+     * The name "main" is no keyword for php. It is just used to
+     * indicate that function as the central starting point.
+     * To make it simpler this is a static function. That is you can simply
+     * call it without first creating an instance of the class.
+     * @return void
+     */
+    public static function main():void
+    {
+        try {
+            $page = new Baecker();
+            $page->processReceivedData();
+            $page->generateView();
+        } catch (Exception $e) {
+            //header("Content-type: text/plain; charset=UTF-8");
+            header("Content-type: text/html; charset=UTF-8");
+            echo $e->getMessage();
+        }
+    }
+}
+
+// This call is starting the creation of the page.
+// That is input is processed and output is created.
+Baecker::main();
+
+// Zend standard does not like closing php-tag!
+// PHP doesn't require the closing tag (it is assumed when the file ends).
+// Not specifying the closing ? >  helps to prevent accidents
+// like additional whitespace which will cause session
+// initialization to fail ("headers already sent").
+//? >
diff --git a/src/Praktikum/Prak5/Bestellung.php b/src/Praktikum/Prak5/Bestellung.php
index a4333af855c60a57b1153ec6dee4fb7fe6a078a5..34d4745eb7e9c3dc789c104e5516bf04012c70e2 100644
--- a/src/Praktikum/Prak5/Bestellung.php
+++ b/src/Praktikum/Prak5/Bestellung.php
@@ -88,33 +88,33 @@ class Bestellung extends Page
     protected function generateView(): void
     {
         $data = $this->getViewData(); //NOSONAR ignore unused $data
-        $this->generatePageHeader('Bestellung', './JS/BestellScript.js');
+        $this->generatePageHeader('Bestellung', './JS/BestellScript.js', false);
 
         echo <<< HTML
             
-            <section class="spacer" id="bestellungSection">
+            <section id="bestellungSection">
                 <h1 id="bestellungTitle">Bestellung</h1>
                 <hr>
-                <section class="flex-container flex-direction-row wrap justify-content-center" id="speisekarteSection">
-                    <h2>Bitte wählen Sie Ihre Pizzen ...</h2>
+                <section id="speisekarteSection">
+                    <h2>Speisekarte</h2>
         HTML;
 
         foreach ($data as $pizza) {
             echo <<< HTML
-                <label class="flex-item">
-                        
+                <label>
                         <img class="pizzaImage" alt="Image of Pizza {$pizza->getName()}" src="{$pizza->getPicture()}" data-articleID="{$pizza->getArticleId()}" data-name="{$pizza->getName()}" data-price="{$pizza->getPrice()}" onclick="addItem(this);">
-                        <div class="flex-container flex-direction-column nowrap justify-content-center">
-                            <div>{$pizza->getName()}</div>
-                            <div>{$pizza->getPrice()}€</div>
-                        </div>
+                        <br>
+                        {$pizza->getName()}<br>
+                        {$pizza->getPrice()}€
                 </label>
+                <br>
             HTML;
         }
 
         echo <<< HTML
                 <script>getElements();</script>
                 </section>
+                <hr>
                 <section id="warenkorbSection">
                     <h2>Warenkorb</h2>
                     <form accept-charset="UTF-8" action="#" method="post">
@@ -122,15 +122,13 @@ class Bestellung extends Page
                         <select id="warenkorb" multiple name="Pizza[]">
                         </select>
                     
-                        <p id="sum">0 €</p>
+                        <p id="sum"></p>
             
                         <label for="address"></label>
                         <input id="address" name="Adresse" placeholder="Ihre Adresse" type="text" required><br>
-                        <div id="buttons">
-                            <input type="button" value="Alles Löschen" onclick="removeAll();">
-                            <input type="button" value="Auswahl Löschen" onclick="removeItem();">
-                          <input id="submitButton" type="submit" name="save" value="Bestellen" onclick="selectOrder();">
-                        </div>
+                        <input type="button" value="Alles Löschen" onclick="removeAll();">
+                        <input type="button" value="Auswahl Löschen" onclick="removeItem();">
+                        <input id="submitButton" type="submit" name="save" value="Bestellen" onclick="selectOrder();">
                     </form>
                 </section>
             </section>
@@ -203,6 +201,7 @@ class Bestellung extends Page
             $page->processReceivedData();
             $page->generateView();
         } catch (Exception $e) {
+            //header("Content-type: text/plain; charset=UTF-8");
             header("Content-type: text/html; charset=UTF-8");
             echo $e->getMessage();
         }
diff --git a/src/Praktikum/Prak5/DB_Classes/Article.php b/src/Praktikum/Prak5/DB_Classes/Article.php
new file mode 100644
index 0000000000000000000000000000000000000000..8c18b60d8d43c0b86d0c78cbf17e105d7d0f99a7
--- /dev/null
+++ b/src/Praktikum/Prak5/DB_Classes/Article.php
@@ -0,0 +1,39 @@
+<?php declare(strict_types=1);
+
+class Article
+{
+    private int $article_id;
+    private string $name;
+    private string $picture;
+    private float $price;
+
+    public function getArticleId(): int
+    {
+        return $this->article_id;
+    }
+
+    public function getName(): string
+    {
+        return $this->name;
+    }
+
+    public function getPicture(): string
+    {
+        return $this->picture;
+    }
+
+    public function getPrice(): float
+    {
+        return $this->price;
+    }
+
+
+    public function __construct(int $article_id = 0, string $name="", string $picture = "", float $price = 0.0)
+    {
+        $this->name = $name;
+        $this->article_id = $article_id;
+        $this->picture = $picture;
+        $this->price = $price;
+    }
+
+}
diff --git a/src/Praktikum/Prak5/DB_Classes/FahrerData.php b/src/Praktikum/Prak5/DB_Classes/FahrerData.php
new file mode 100644
index 0000000000000000000000000000000000000000..abbae1298828b147adffb5f046b7fdb3d32e5fd7
--- /dev/null
+++ b/src/Praktikum/Prak5/DB_Classes/FahrerData.php
@@ -0,0 +1,46 @@
+<?php
+
+class FahrerData
+{
+    private int $orderingId;
+    private int $orderedArticleId ;
+    private string $address;
+    private int $status;
+
+
+    /**
+     * @param int $orderingId
+     * @param int $orderedArticleId
+     * @param string $address
+     * @param int $status
+     * @param string $ordering_time
+     */
+    public function __construct(int $orderingId, int $orderedArticleId, string $address, int $status)
+    {
+        $this->orderingId = $orderingId;
+        $this->orderedArticleId = $orderedArticleId;
+        $this->address = $address;
+        $this->status = $status;
+    }
+
+    public function getOrderingId(): int
+    {
+        return $this->orderingId;
+    }
+
+    public function getOrderedArticleId(): int
+    {
+        return $this->orderedArticleId;
+    }
+
+    public function getAddress(): string
+    {
+        return $this->address;
+    }
+
+    public function getStatus(): int
+    {
+        return $this->status;
+    }
+
+}
diff --git a/src/Praktikum/Prak5/DB_Classes/OrderedArticle.php b/src/Praktikum/Prak5/DB_Classes/OrderedArticle.php
new file mode 100644
index 0000000000000000000000000000000000000000..546ff3aa261bd92481501eaeba50917eaaf9b6d9
--- /dev/null
+++ b/src/Praktikum/Prak5/DB_Classes/OrderedArticle.php
@@ -0,0 +1,57 @@
+<?php declare(strict_types=1);
+require_once './DB_Classes/Article.php';
+class OrderedArticle
+{
+    private int $ordered_article_id;
+    private int $ordering_id;
+    private int $article_id;
+    private int $status;
+    private Article $article;
+
+    public function getArticle(): Article
+    {
+        return $this->article;
+    }
+
+    public function setArticle(Article $article): void
+    {
+        $this->article = $article;
+    }
+
+    public function getOrderedArticleId(): int
+    {
+        return $this->ordered_article_id;
+    }
+
+    public function getOrderingId(): int
+    {
+        return $this->ordering_id;
+    }
+
+    public function getArticleId(): int
+    {
+        return $this->article_id;
+    }
+
+    public function getStatus(): int
+    {
+        return $this->status;
+    }
+
+
+    /**
+     * @param int $ordered_article_id
+     * @param int $ordering_id
+     * @param int $article_id
+     * @param int $status
+     */
+
+    public function __construct(int $ordered_article_id=0, int $ordering_id=0, int $article_id=0, int $status=0)
+    {
+        $this->ordered_article_id = $ordered_article_id;
+        $this->ordering_id = $ordering_id;
+        $this->article_id = $article_id;
+        $this->status = $status;
+    }
+
+}
diff --git a/src/Praktikum/Prak5/DB_Classes/Ordering.php b/src/Praktikum/Prak5/DB_Classes/Ordering.php
new file mode 100644
index 0000000000000000000000000000000000000000..7b27ca3a897e19ed9b8ef67aa882a0e08b39ae86
--- /dev/null
+++ b/src/Praktikum/Prak5/DB_Classes/Ordering.php
@@ -0,0 +1,72 @@
+<?php declare(strict_types=1);
+
+class Ordering
+{
+    private int $ordering_id;
+    private string $address;
+    private string $ordering_time;
+    private array $orderList;
+
+    public function getOrderList(): array
+    {
+        return $this->orderList;
+    }
+
+    public function setOrderList(array $orderList) : void
+    {
+        $this->orderList = $orderList;
+    }
+
+    public function addItem(OrderedArticle $article) : void
+    {
+        $this->orderList[] = $article;
+    }
+
+    public function getMinStatus() : int
+    {
+        $valueArray = array();
+        foreach ($this->orderList as $item) {
+
+            $valueArray[] = $item->getStatus();
+        }
+        return min($valueArray);
+    }
+
+    public function getSum() : float
+    {
+        $valueArray = array();
+        foreach ($this->orderList as $item) {
+
+            $valueArray[] = $item->getArticle()->getPrice();
+        }
+        return array_sum($valueArray);
+    }
+
+    /**
+     * @param int $ordering_id
+     * @param string $address
+     * @param string $ordering_time
+     */
+    public function __construct(int $ordering_id=0, string $address="", string $ordering_time="")
+    {
+        $this->ordering_id = $ordering_id;
+        $this->address = $address;
+        $this->ordering_time = $ordering_time;
+    }
+
+    public function getOrderingId(): int
+    {
+        return $this->ordering_id;
+    }
+
+    public function getAddress(): string
+    {
+        return $this->address;
+    }
+
+    public function getOrderingtime(): string
+    {
+        return $this->ordering_time;
+    }
+
+}
diff --git a/src/Praktikum/Prak5/Fahrer.php b/src/Praktikum/Prak5/Fahrer.php
index d09eeedc095f93e47ae7d405efe4289cb468ebc0..6731a367805d99db417381a6595fcfa00cd41752 100644
--- a/src/Praktikum/Prak5/Fahrer.php
+++ b/src/Praktikum/Prak5/Fahrer.php
@@ -218,6 +218,7 @@ HTML;
             $page->processReceivedData();
             $page->generateView();
         } catch (Exception $e) {
+            //header("Content-type: text/plain; charset=UTF-8");
             header("Content-type: text/html; charset=UTF-8");
             echo $e->getMessage();
         }
diff --git a/src/Praktikum/Prak5/JS/BestellScript.js b/src/Praktikum/Prak5/JS/BestellScript.js
new file mode 100644
index 0000000000000000000000000000000000000000..36a827ed781244c72ea92649afd78ed217129f8d
--- /dev/null
+++ b/src/Praktikum/Prak5/JS/BestellScript.js
@@ -0,0 +1,84 @@
+let pizzaPriceMap = new Map();
+function getElements() {
+    "use strict";
+    let pizzaImages = document.getElementsByClassName("pizzaImage");
+    for (let item of pizzaImages) {
+        pizzaPriceMap.set(
+            item.getAttribute("data-articleID"),
+            item.getAttribute("data-price")
+        );
+    }
+}
+
+function addItem(pizza) {
+    "use strict";
+    let articleID = pizza.getAttribute("data-articleID");
+    let name = pizza.getAttribute("data-name");
+    let select = document.getElementById("warenkorb");
+    let newOption = document.createElement("option");
+    newOption.text = name;
+    newOption.value = articleID;
+    select.add(newOption);
+    calculateSum();
+    checkInputs();
+}
+
+function calculateSum() {
+    "use strict";
+    let select = document.getElementById("warenkorb");
+    let price = 0;
+    for (let item of select.options) {
+        price += parseFloat(pizzaPriceMap.get(item.value));
+    }
+    document.getElementById("sum").innerText = price.toFixed(2) + " €";
+}
+
+function removeItem() {
+    "use strict";
+    let select = document.getElementById("warenkorb");
+    select.remove(select.selectedIndex);
+    calculateSum();
+    checkInputs();
+}
+
+function removeAll() {
+    "use strict";
+    let select = document.getElementById("warenkorb");
+    select.options.length = 0;
+    calculateSum();
+    checkInputs();
+}
+
+function selectOrder() {
+    "use strict";
+    let select = document.getElementById("warenkorb");
+    for (let option of select.options) {
+        option.selected = true;
+    }
+}
+
+function checkInputs() {
+    "use strict";
+    const selectInput = document.getElementById("warenkorb");
+    const address = document.getElementById("address");
+    const button = document.getElementById("submitButton");
+
+    // Check conditions
+    const selectHasOptions = selectInput.options.length > 0;
+    const addressHasValue  = address.value.trim() !== "";
+
+    // Enable or disable the button
+    button.disabled = !(selectHasOptions && addressHasValue);
+}
+
+//--- LISTENERS
+
+window.onload = function init() {
+    "use strict";
+    document.getElementById("address").addEventListener("input", checkInputs);
+};
+
+document.addEventListener(
+    "DOMContentLoaded",
+    checkInputs
+); // Check on page load
diff --git a/src/Praktikum/Prak5/JS/DEPRECATED/OrderData.js b/src/Praktikum/Prak5/JS/DEPRECATED/OrderData.js
new file mode 100644
index 0000000000000000000000000000000000000000..a8a8b68c1e82f470e8e51b1144033eadc81c496e
--- /dev/null
+++ b/src/Praktikum/Prak5/JS/DEPRECATED/OrderData.js
@@ -0,0 +1,59 @@
+class OrderData {
+
+    constructor(orderingID, address, pizzaObj) {
+
+        this.orderingID = orderingID;
+        this.address = address;
+        this.pizzaObj = pizzaObj;
+        this.buildOrder();
+
+    }
+
+
+    buildOrder() {
+
+        let orderMainNode = document.createElement("fieldset");
+        orderMainNode.id = this.orderingID;
+
+        let orderLegend = document.createElement("legend");
+        orderLegend.id = this.orderingID + ".legend";
+
+        orderMainNode.append(orderLegend);
+
+        this.buildPizza(orderMainNode)
+    }
+
+    buildPizza(orderMainNode) {
+        let pizzaList = this.pizzaObj.pizzaList;
+        for (let pizza of pizzaList) {
+            let pizzaName = pizza.name;
+            let orderedArticleID = pizza.orderedArticleID;
+            let pizzaStatus = pizza.status;
+            let pizzaNode = document.createElement("fieldset");
+            let pizzaLegend = document.createElement("legend");
+            pizzaNode.id = "pizzaNode." + orderedArticleID;
+            pizzaLegend.innerText = "Pizza " + pizzaName;
+            pizzaNode.append(pizzaLegend);
+            this.buildInputs(pizzaNode, orderedArticleID, pizzaStatus);
+            orderMainNode.append(pizzaNode);
+        }
+    }
+
+    buildInputs(pizzaNode, orderedArticleID, status) {
+        let statusArray = ["Bestellt", "Im Ofen", "Fertig", "Unterwegs", "Geliefert"];
+        for (let value = 0; value < 5; value++) {
+            let inputLabel = document.createElement("label");
+            pizzaNode.append(inputLabel);
+            inputLabel.innerText = statusArray[value];
+            let inputRadio = document.createElement("input");
+            inputLabel.append(inputRadio);
+            inputRadio.type = "radio";
+            inputRadio.name = orderedArticleID;
+            inputRadio.value = value.toString();
+            inputRadio.disabled = true;
+            if (value === status) {
+                inputRadio.checked = true;
+            }
+        }
+    }
+}
diff --git a/src/Praktikum/Prak5/JS/Kunde.js b/src/Praktikum/Prak5/JS/Kunde.js
new file mode 100644
index 0000000000000000000000000000000000000000..402bb5d4f60ffe68f34b5fb70f0899c2a30be809
--- /dev/null
+++ b/src/Praktikum/Prak5/JS/Kunde.js
@@ -0,0 +1,149 @@
+function loadData() {
+    "use strict";
+    var url = "./Kundenstatus.php";
+    var request = new XMLHttpRequest();
+
+    request.open("GET", url, true);
+
+    request.onload = function () {
+
+        if (request.readyState === 4 &&
+            request.status >= 200 &&
+            request.status < 300) {
+
+            if (request.responseText != null) {
+
+                var responseData = JSON.parse(request.responseText);
+                console.log(responseData);
+                process(responseData);
+            } else {
+                console.error ("Dokument ist leer");
+            }
+        } else {
+            console.error("Statuscode: " + request.status);
+        }
+    };
+
+    request.onerror = function () {
+        "use strict";
+        console.error("Netzwerkfehler");
+    };
+
+    //request.onreadystatechange = processData;
+
+    request.send();
+}
+
+const newScript = document.createElement("script");
+newScript.src = "./JS/OrderData.js";
+newScript.type = "module";
+document.getElementsByTagName("body")[0].prepend(newScript);
+
+
+function process(data) {
+
+    "use strict";
+
+    const orderForm = document.getElementById("orderForm");
+    if (orderForm != null) {
+
+        while (orderForm.lastElementChild) {
+            orderForm.removeChild(orderForm.lastElementChild);
+        }
+
+
+        for (let [orderingID, order] of Object.entries(data)) {
+
+            let pizzaObj = {
+                pizzaList: []
+            };
+
+            //orderForm.append(testBuildOrder(orderingID));
+
+            let orderList = order["OrderList"]
+            for (let [orderedArticleID, pizza] of Object.entries(orderList)) {
+
+                let name = pizza["Name"];
+                let price = parseFloat(pizza["Price"]);
+                let status = parseInt(pizza["Status"]);
+
+                let newPizza = {
+                    orderedArticleID: orderedArticleID,
+                    name: name,
+                    price: price,
+                    status: status
+                };
+                pizzaObj.pizzaList.push(newPizza);
+            }
+            buildOrder(orderForm, orderingID, pizzaObj);
+        }
+
+    }
+}
+
+
+window.onload = function () {
+
+    "use strict";
+    loadData();
+}
+
+window.setInterval (loadData, 2000);
+
+
+
+function buildOrder(parentNode, id, pizzaObj) {
+    "use strict";
+    let orderMainNode = document.createElement("fieldset");
+    orderMainNode.id = id;
+
+    let orderLegend = document.createElement("legend");
+    orderLegend.id = id + ".legend";
+    orderLegend.innerText = "Bestellung " + id;
+
+    orderMainNode.append(orderLegend);
+    buildPizza(orderMainNode, pizzaObj);
+
+    parentNode.append(orderMainNode);
+}
+
+function buildPizza(orderMainNode, pizzaObj) {
+    "use strict";
+    let pizzaList = pizzaObj.pizzaList;
+    for (let pizza of pizzaList) {
+
+        let pizzaName = pizza.name;
+        let orderedArticleID = pizza.orderedArticleID;
+        let pizzaStatus = pizza.status;
+
+        let pizzaNode = document.createElement("fieldset");
+        let pizzaLegend = document.createElement("legend");
+        pizzaNode.id = "pizzaNode." + orderedArticleID;
+        pizzaLegend.innerText = "Pizza " + pizzaName;
+        pizzaNode.append(pizzaLegend);
+        buildInputs(pizzaNode, orderedArticleID, pizzaStatus);
+        orderMainNode.append(pizzaNode);
+    }
+}
+
+function buildInputs(pizzaNode, orderedArticleID, status) {
+    "use strict";
+    let statusArray = [
+        "Bestellt", "Im Ofen", "Fertig",
+        "Unterwegs", "Geliefert"
+    ];
+    for (let value = 0; value < 5; value++) {
+        let inputLabel = document.createElement("label");
+        pizzaNode.append(inputLabel);
+        let inputRadio = document.createElement("input");
+        inputLabel.append(inputRadio);
+        inputLabel.innerText = statusArray[value];
+        inputRadio.type = "radio";
+        inputRadio.name = orderedArticleID;
+        inputRadio.value = value.toString();
+        inputRadio.disabled = true;
+        if (value === status) {
+            inputRadio.checked = true;
+        }
+    }
+}
diff --git a/src/Praktikum/Prak5/Kunde.php b/src/Praktikum/Prak5/Kunde.php
index 93b68cd0eb4e54a42d5c5bad699897a077494462..31570b23b1dc9115d98403e2c21292c8196474b9 100644
--- a/src/Praktikum/Prak5/Kunde.php
+++ b/src/Praktikum/Prak5/Kunde.php
@@ -192,6 +192,7 @@ HTML;
             $page->processReceivedData();
             $page->generateView();
         } catch (Exception $e) {
+            //header("Content-type: text/plain; charset=UTF-8");
             header("Content-type: text/html; charset=UTF-8");
             echo $e->getMessage();
         }
diff --git a/src/Praktikum/Prak5/Kundenstatus.php b/src/Praktikum/Prak5/Kundenstatus.php
index bd184fcffad298103c6b1110ec97cdd5a82ac29a..743f34fb91eac9470d83771d74cf1b2bfd2b75b7 100644
--- a/src/Praktikum/Prak5/Kundenstatus.php
+++ b/src/Praktikum/Prak5/Kundenstatus.php
@@ -155,6 +155,7 @@ class Kundenstatus extends Page
             $page->processReceivedData();
             $page->generateView();
         } catch (Exception $e) {
+            //header("Content-type: text/plain; charset=UTF-8");
             header("Content-type: text/html; charset=UTF-8");
             echo $e->getMessage();
         }
diff --git a/src/Praktikum/Prak5/img/pizzaAfterburner.png b/src/Praktikum/Prak5/img/pizzaAfterburner.png
new file mode 100644
index 0000000000000000000000000000000000000000..2e1ec7b18078ec437044123e1d22f7d17f330a0e
Binary files /dev/null and b/src/Praktikum/Prak5/img/pizzaAfterburner.png differ
diff --git a/src/Praktikum/Prak5/img/pizzaSalami.png b/src/Praktikum/Prak5/img/pizzaSalami.png
new file mode 100644
index 0000000000000000000000000000000000000000..a5e3173732265805437e6003bf8bc17158a3b192
Binary files /dev/null and b/src/Praktikum/Prak5/img/pizzaSalami.png differ
diff --git a/src/Praktikum/Prak5/img/pizzaVegetaria.png b/src/Praktikum/Prak5/img/pizzaVegetaria.png
new file mode 100644
index 0000000000000000000000000000000000000000..7c4185fc015831c6d40db61c9cf7d854dc4741d9
Binary files /dev/null and b/src/Praktikum/Prak5/img/pizzaVegetaria.png differ
diff --git a/src/Praktikum/Prak5/index.php b/src/Praktikum/Prak5/index.php
index f10150d298f6902f16a61b27348460d961e9143e..19e65e0300b9599f3fe7378f718a8f6ecb69cea1 100644
--- a/src/Praktikum/Prak5/index.php
+++ b/src/Praktikum/Prak5/index.php
@@ -127,6 +127,7 @@ class Index extends Page
             $page->processReceivedData();
             $page->generateView();
         } catch (Exception $e) {
+            //header("Content-type: text/plain; charset=UTF-8");
             header("Content-type: text/html; charset=UTF-8");
             echo $e->getMessage();
         }