verkooyen.de — Dynamische Praxiskurs-Plattform mit PHP-MVC

PHP-MVC-Architektur mit Bootstrap 5, personalisierter Domain-Routing-Logik und datenbankgesteuertem Content-Management für KI-Praxiskurse

PHP MVCBootstrap 5MySQLLLMTTSOCR

🚀 Bereit für Ihre digitale Transformation?

Vereinbaren Sie ein unverbindliches Strategiegespräch

📞 02406 803 7603 ✉️ info@computerkumpel.de

📊 Business Value

Maßgeschneiderte Praxiskurs-Plattform für IT-Entscheider: Statt theoretischer Vorträge setzt die Plattform auf Learning-by-Doing mit echter IT-Infrastruktur. Domain-basierte Personalisierung für Multi-Tenant-Betrieb.

🎯
Personalisierung
Domain-basierte Content-Logik mit explode(".", $_SERVER["HTTP_HOST"]) — verschiedene Domains zeigen maßgeschneiderte Inhalte aus derselben Codebase.
🗄️
Datenbankgesteuert
Alle Kursinhalte, Preise und Beschreibungen werden aus MySQL geladen — keine statischen HTML-Seiten.
📱
Responsive
Bootstrap 5 mit Grid-System, Collapse-Komponenten und vollständiger Mobile-Responsivität.
🔄
Skalierbar
Template-basierte Architektur mit header.inc.php/footer.inc.php — neue Kurse per Datenbank-Eintrag.

⚙️ Architektur

1
🌐

Domain-Routing

$teile = explode(".", $_SERVER["HTTP_HOST"]); $ort = $teile[0]; extrahiert die Subdomain für personalisierte Inhalte.

2
🗄️

Datenbank

MySQL-gestützte Inhaltsauslieferung: Kurstitel, Beschreibungen, Preise und Agenda-Daten pro Kurs-Kategorie.

3
🖼️

Template Engine

Wiederverwendbare Header/Footer-Templates mit include("templates/header.inc.php") — DRY-Prinzip.

4
📱

Bootstrap 5 UI

Responsive Cards, Collapse-Komponenten, Navigation — vollständig mobile-optimiert.

💻 Echter Code aus dem Projekt

Direkt aus D:\arbeit\git\verkooyen_de\ — produktiv im Einsatz.

🌐 Domain-Routing für personalisierte Inhalte (index.php)

<?php 
$teile = explode(".", $_SERVER["HTTP_HOST"]);
$ort = $teile[0];
$thema = "11";
include("templates/header.inc.php");
?>

<header class="bg-primary text-white text-center py-5">
  <div class="container">
    <h1>Willkommen zu unseren Praxiskursen</h1>
    <p class="lead">Steigere dein Wissen in KI, Digitalisierung und mehr!</p>
  </div>
</header>

📱 Bootstrap 5 Kurs-Grid mit dynamischen DB-Daten

<section class="py-5">
  <div class="container">
    <h2 class="text-center mb-5">Unsere Kurse</h2>
    <div class="row">
      <div class="col-md-6 mb-4">
        <div class="card h-100">
          <img src="images/speachtotext.webp"
               class="card-img-top" alt="Texterkennung">
          <div class="card-body">
            <h5 class="card-title">
              Text-to-Speech KI – Stimme Klonen und API-Programmierung
            </h5>
            <p><strong>Preis pro Teilnehmer:</strong> € 750</p>
            <a href="tts.php" class="btn btn-primary">
              Mehr erfahren
            </a>
          </div>
        </div>
      </div>
    </div>
  </div>
</section>

🗄️ Dynamische Content-Engine mit MySQL-Zufallsauswahl (content.php)

<?php
include("inc/connect.php");

function getRandomSentence($conn, $themaID, $posID) {
    $query = "SELECT Satz FROM Content
              WHERE ThemaID = $themaID AND PosID = $posID
              ORDER BY RAND() LIMIT 1";
    $result = $conn->query($query);
    if ($result->num_rows > 0) {
        $row = $result->fetch_assoc();
        return $row['Satz'];
    }
    return "";
}

function getRandomSentenceWithKeywords($conn, $themaID, $posID,
                                        $keywords, $excludeSentences) {
    $keywordCondition = implode("%' OR Satz LIKE '%", $keywords);
    $excludeCondition = implode("','", $excludeSentences);
    $query = "SELECT Satz FROM Content
              WHERE ThemaID = $themaID AND PosID = $posID
              AND (Satz LIKE '%$keywordCondition%')
              AND Satz NOT IN ('$excludeCondition')
              ORDER BY RAND() LIMIT 1";
    $result = $conn->query($query);
    if ($result->num_rows > 0) {
        $row = $result->fetch_assoc();
        return $row['Satz'];
    }
    return "";
}

function getMetaDescription($conn, $themaID,
                             $keywords, $excludeSentences) {
    $description = "";
    for ($i = 1; $i <= 4; $i++) {
        $description .= getRandomSentenceWithKeywords(
            $conn, $themaID, $i, $keywords, $excludeSentences
        ) . " ";
    }
    return $description;
}
?>

🛠️ Technologie-Stack

🐘
PHP 7/8
Server-seitige Logik mit explode()-Domain-Parsing, htmlspecialchars() und Template-Includes.
🎨
Bootstrap 5
Responsive Grid, Cards, Collapse, Navbar — vollständig mobile-first.
🗄️
MySQL
Datenbankgesteuerte Inhalte: Content-, Keywords-, Bilder-Tabellen mit ThemaID-Verknüpfung.
🤖
OpenAI API
Davinci-3-Integration für Chatbot-Funktionalität und KI-gestützte Content-Generierung.
🔗
Multi-API
Google, Facebook, Dailymotion, Rumble APIs für erweiterte Plattform-Funktionen.
🏗️
Template-Architektur
DRY-Prinzip mit templates/-Verzeichnis — Header, Footer, Termine als wiederverwendbare Komponenten.

🚀 In Tagen zum MVP — nicht in Monaten

📞 02406 803 7603 ✉️ info@computerkumpel.de

Bereit für Ihren Wettbewerbsvorteil?

Von PHP-MVC-Plattformen bis KI-Integration — ich baue, was Ihr Business voranbringt.

📞 Jetzt anrufen ✉️ E-Mail senden