================================================== SQLite Admin- und Viewer-Anwendung ================================================== Erstellt mit Hilfe der KI ChatGPT von Tommy Datum: 2025-09-14 Die aktuelle Version findest Du immer auf meiner Website: https://www.mobirise-tutorials.com/Tutorials-3/SQLite-Datenbank.php Hinweis: Jede Verantwortung bezüglich der Funktion wird abgelehnt. Die Verwendung erfolgt ausschließlich auf eigene Verantwortung. -------------------------------------------------- INSTALLATION: 1. Lade alle PHP-Dateien sowie die SQLite-Datenbank (data.db) auf deinen Server in ein Verzeichnis deiner Wahl hoch. 2. Die Datei data.db enthält eine Beispiel-Tabelle "adressen". Du kannst die Datei umbenennen (z. B. kunden.db oder mitglieder.db), musst dann aber den Dateinamen in der Datei auth.php bei $DB_FILE anpassen. 3. Öffne im Browser create_admin.php und lege den ersten Benutzer mit Rolle "admin" an. Danach lösche die Datei create_admin.php vom Server, da sie ein Sicherheitsrisiko darstellt (erneutes Anlegen weiterer Admins möglich). 4. Melde dich mit login.php an. Danach stehen dir die Dateien zur Verfügung: - admin.php ? Verwaltung (Datensätze einfügen, bearbeiten, löschen, CSV) - sqlite_viewer.php ? Durchsuchen/Anzeigen aller Tabellen - users_admin.php ? Benutzerverwaltung (nur für Admins sichtbar) - logout.php ? Abmelden 5. Lies die Hinweise zu Sicherheit: - create_admin.php unbedingt nach einmaligem Gebrauch löschen - Zugangsdaten niemals im Klartext weitergeben - auth.php enthält die Konfiguration deiner Datenbank ($DB_FILE) -------------------------------------------------- DATEIÜBERSICHT: - auth.php : Zentrale Konfiguration (DB-Datei, Sicherheit, CSRF-Schutz) - admin.php : Admin-Oberfläche (Einfügen, Bearbeiten, Löschen, CSV-Export) - edit.php : Einzel-Datensatz ändern (wird von admin.php aufgerufen) - login.php : Login-Formular - logout.php : Beendet die Session - users_admin.php : Verwaltung von Benutzern (nur für Admins) - sqlite_viewer.php : Viewer für Tabellen (Suchen, Sortieren, Blättern) - create_admin.php : Ersten Admin anlegen (danach löschen!) - lies_mich.txt : Diese Anleitung -------------------------------------------------- HINWEIS ZU NEUEN TABELLEN: - Jede SQLite-Datenbank kann genutzt werden. - Mit $EDITABLE_TABLES = array('*'); in auth.php sind alle Tabellen editierbar. - Primärschlüssel (INTEGER PRIMARY KEY AUTOINCREMENT) werden automatisch erkannt, egal ob sie "ID", "Kundennummer" o. Ä. heißen. - Fallback auf rowid, falls keine eigene ID existiert. ================================================== ÄNDERUNGEN ================================================== 2025-09-16 – 13:30 Uhr ---------------------- - sqlite_viewer.php wurde um einen Sprunganker erweitert: Ich habe am Ende der Datei ein kleines JavaScript eingefügt, das auf einen Sprunganker der aufrufenden Seite verlinkt. Der entsprechende Block in Mobirise muss dafür dieselbe ID erhalten — ich habe sie `Datenbank` genannt. Tragt diese ID oben links in den Block ein, in dem ihr das iFrame eingebettet habt, wie im Screenshot meiner Tutorialseite auch zu sehen ist. Es muss weiterhin ein Minimal-Listener-Script in der Elternseite (nicht im iFrame) eingefügt werden, so wie es auf meiner Tutorialseite beschrieben steht. 2025-09-15 – 06:30 Uhr ---------------------- - admin.php wurde erweitert sowie - sqlite_viewer.php wurde erweitert: Ich habe hier die Spalte "Datum" vorsortiert, sodass immer der neueste Eintrag ganz oben steht. Das Skript erkennt dafür die Feldbezeichnungen "Datum" - "datum" - "DATUM" automatisch. Gibt es keine Bezeichnung wie diese wird auch nichts vorsortiert. 2025-09-14 – 14:30 Uhr ---------------------- - admin.php wurde erweitert: ? Primärschlüssel-Spalten (z. B. "ID", "Kundennummer") werden automatisch erkannt. ? Fallback auf rowid, wenn keine PK-Spalte vorhanden ist. ? Bearbeiten-/Löschen-/Export-Funktionen funktionieren damit für jede Tabelle. - edit.php unverändert, funktioniert mit rowid/PK automatisch. - auth.php: Möglichkeit, mit $EDITABLE_TABLES = array('*'); alle Tabellen editierbar zu machen. - Hinweis: Für bestehende Installationen bitte die Dateien admin.php, auth.php und edit.php austauschen.