Mobirise Tutorials

SQLite Datenbank

Ein Skript zur Verwaltung von SQLite Datenbanken

Datenbank

Tutorial

Administrator-Seite 

Ich lehne jede Verantwortung für die Sicherheit oder die Funktionen der Skripte von dieser Anwendung ab.

SQLite ist ein serverloses, leichtgewichtiges und eigenständiges Datenbanksystem, das alle Daten in einer einzigen Datei speichert und keine separate Serversoftware benötigt. Es unterstützt SQL, ist ACID-konform - Atomarität, Consistenz, Isolation und Dauerhaftigkeit - und eignet sich besonders für mobile Geräte sowie eingebettete Systeme, da es zuverlässig, ressourcenschonend und einfach in Anwendungen integrierbar ist.

Mit dieser Anwendung könnt ihr beliebig viele SQLite‑Datenbanken einlesen sowie Datensätze hinzufügen, bearbeiten und löschen. Die Tabelle lässt sich mittels Klick auf die jeweilige Spaltenüberschrift sortieren. Im Administratorbereich lassen sich beliebig viele Benutzer anlegen, die jeweils über einen eigenen Benutzernamen und ein eigenes Passwort verfügen.

Der Administrator lässt sich nicht in der Benutzerverwaltung löschen, dort können nur zusätzliche Benutzer angelegt und auch wieder gelöscht werden. Falls ihr einen neuen Administrator anlegen müsst, muss die Anwendung komplett neu installiert werden. Die Passwörter werden verschlüsselt abgelegt. Ausgewählte oder alle Datensätze können als CSV‑Datei exportiert werden.


Diese kleine SQLite-Datenbankanwendung habe ich mit der künstlichen Intelligenz ChatGPT erstellt. Das ging erstaunlich schnell und relativ fehlerfrei. Bitte ladet das ZIP‑Archiv mit allen Dateien herunter und entpackt es. 

Bitte lest die Datei lies_mich.txt aufmerksam durch, insbesondere die Hinweise zum ersten Aufruf der Datei "create_admin.php", die ihr bitte unmittelbar nach der Einrichtung des Administrators am Server wieder löscht. In dieser Datei findet ihr auch Hinweise auf eventuelle Updates.

Ich habe die Spalte "Datum" vorsortiert, sodass der jeweils neueste Eintrag ganz oben steht. Das Skript erkennt dafür automatisch die Feldbezeichnungen "Datum", "datum" und "DATUM". Fehlt eine solche Bezeichnung, erfolgt keine Vorsortierung.

Bearbeitet die Skripte nur mit einem Editor wie Notepad oder Notepad++, sodass die Codierung UTF-8 erhalten bleibt.

Öffnet die Datei create_admin.php. Tragt gleich oben in den Zeilen 4 und 5, an den beiden vorgesehenen Stellen, euren Benutzernamen und euer Passwort ein.

Die zugehörige SQLite-Datenbank mit dem Dateinamen: data.db findet ihr im Download-Ordner. Sie enthält bereits alle benötigten Tabellen sowie 60 Beispiel-Datensätze, die ihr bei Bedarf später löschen könnt. Ich habe bewusst eine größere Menge fiktiver Datensätze angelegt, damit ihr die Navigation der einzelnen Seiten sofort testen könnt. Ihr solltet das daher zunächst so lassen.

Die Datenbank muss erhalten bleiben, kann aber umbenannt werden, z. B. in "adressen.db" oder "mitglieder.db" oder wie auch immer. In dieser Datenbank "data.db" gibt es die Tabelle "users", in der der Administrator und nachträglich eingetragene Editoren gespeichert sind. Wenn ihr die Datenbank umbenennt, tragt den neuen Dateinamen in der Datei "auth.php" ein. Öffnet dazu die Datei "auth.php" und tragt den neuen Namen in Zeile 14 ein:

$DB_FILE = 'data.db';

Der Dateiname der Datenbank erscheint standardmäßig oben links in der Tabellenansicht, wie ihr oben sehen könnt. Das Besondere an diesem flexiblen Programm ist, dass ihr an dieser Stelle unter "Datenbank" jede beliebige SQLite-Datei mit beliebigem Namen und beliebiger Dateiendung wie zum Beispiel .db, .sqt oder .sqlite eintragen und laden könnt. Kopiert die zusätzlichen Datenbanken dazu einfach in dasselbe Verzeichnis auf dem Server, in dem auch die übrigen Dateien dieser Anwendung liegen. Ihr könnt auch eine jede, auf diese Weise geladene SQLite-Datenbank ändern oder Datensätze hinzufügen bzw. löschen.

Gebt zum Testen oben im Feld "Datenbank" diese SQLite-Datei ein: datenbank.sqt. Sie stammt aus einer älteren Anwendung Nachrichten von Werner Zenk. Testet das Laden der Datei kunden.db, die ich mit dem "DB Browser for SQLite" (weiter unten beschrieben) ganz neu erstellt habe und dann hier diese beiden Datensätze hinzugefügt habe.

Speichert die Datei "create_admin.php" und "auth.php" und kopiert sie anschließend mit den anderen Dateien in ein Verzeichnis eurer Wahl auf den Server. Bitte nicht vergessen die Datei "create_admin.php" unmittelbar nach der Einrichtung des Administrators am Server wieder zu löschen.


Anker als Sprungmarke

Im Skript `sqlite_viewer.php` habe ich ein JavaScript als Anker eingebaut, das beim Laden bzw. bei jeder Navigation im iFrame automatisch zur Eltern-Section mit der id="Datenbank" scrollt. Damit das funktioniert, muss der betreffende Block mit dem iFrame oben links im "Code-Editor" die id="Datenbank" erhalten - siehe auch den Screenshot.

Die Bezeichnung muss exakt Datenbank lauten. Wolltet ihr keinen Anker, dann schreibt dort eine andere ID hin.

Außerdem muss ein Minimal-Listener in der Elternseite (nicht im iFrame) eingebaut werden, damit das auch in Chrome-basierten Browsern und auf Smartphones mit dem Anker korrekt funktioniert. Kopiert den unten stehenden Code und fügt ihn in den Seiteneinstellungen im Bereich "End of <body> Code" ein:

<!-- Für Anker-Skript auf Elternseite (Mobirise): Minimal-Listener einfügen -->
<script>
(function () {
 window.addEventListener("message", function (e) {
  var d = e.data || {};
  if (d && d.type === "sqlite_viewer_scroll" && d.id) {
   var el = document.getElementById(d.id);
   if (!el) return;
   
   // Sanftes Scrollen (beachtet optional "prefers-reduced-motion")
   var smooth = !window.matchMedia || !window.matchMedia('(prefers-reduced-motion: reduce)').matches;
   el.scrollIntoView({ behavior: smooth ? "smooth" : "auto", block: "start" });
  }
 });
})();
</script>

Download der Dateien

Letztes Update am 16.09.2025 um 13:30 Uhr

Änderungen sind in der Datei lies_mich.txt zu finden

Downloads seit 14.09.2025: 10 x

Einbau im iFrame


Den Einbau vom iFrame könnt ihr im unten stehenden Screenshot sehen. Ich habe hier ein dynamisches iFrame Skript von ProfessorWeb.de eingebaut. Das Skript wirkt aber nicht in der lokalen Publizierung sondern erst online am Server. Ihr könnt dieses Skript optional in den Seiteneinstellungen eurer Mobirise-Seite im Bereich "Inside <head> code:" einbauen:

<!-- iFrame dynamisch aufrufen -->
<script>
  var framefenster = document.getElementsByTagName("iFrame");
  var auto_resize_timer = window.setInterval("autoresize_frames()", 200);
  function autoresize_frames() {
    for (var i = 0; i < framefenster.length; ++i) {
      if(framefenster[i].contentWindow.document.body){
        var framefenster_size = framefenster[i].contentWindow.document.body.offsetHeight;
        if(document.all && !window.opera) {
          framefenster_size = framefenster[i].contentWindow.document.body.scrollHeight;
        }
        framefenster[i].style.height = framefenster_size + 'px';
      }
    }
  }
</script>


Zieht euch einen Block eurer Wahl auf. Hier habe ich einen einfachen Textblock aus der Rubrik 'Article' des Standard-Themas 'Mobirise5' verwendet.

Fügt nun den iFrame Code unten mit eurer URL zum Skript `sqlite_viewer.php` der Anwendung ein. Bei mir habe ich alle Skripte aus dem Download in ein Verzeichnis "sqlite-view" kopiert:

<iframe id="myFrame" height="470" src="https://www.mobirise-tutorials.com/Tutorials-3/sqlite-view/sqlite_viewer.php" scrolling="no"></iframe>


Für den Link zum Login für den Administrator und die angelegten Benutzer gebt ihr die URL zur Seite Login ein, hier also:

https://www.mobirise-tutorials.com/Tutorials-3/sqlite-view/login.php



DB Browser for SQLite


Für ein zusätzliches Werkzeug zur Erstellung und Bearbeitung von SQLite-Datenbanken empfehle ich die kostenlose Anwendung DB Browser for SQLite .

Für die Erstellung einer SQLite-Datenbank mit diesem Tool lest bitte meine Anleitung  → hier diese Anleitung auf Englisch .

Code Editor

Block ID und iFrame im Code Editor

© Copyright Mobirise-Tutorials.com

Datenschutz und Impressum

Google Translator
Funktionale Cookies akzeptieren