So, mein Problem ist mittlerweile gelöst. In meinem Login-Bereich habe ich mir ein Hochladeformular gebastelt, dass meine Bilder mittels „move_uploaded_file“ hochlädt. Gleichzeitig mit dem Upload werden der Name der Datei, der Titel sowie eine Nummer zur Reihung des Bildes in eine Datenbank geschrieben. Der Titel muss eindeutig sein, da er gleichzeitig als Primärschlüssel dient. Die Nummer zur Reihung verwende ich nicht als Primärschlüssel, da eine Neureihung der Bilder sonst wohl kompliziert wird. Will ich Bild 2 mit Bild 3 tauschen, muss ich Bild 3 zuerst die Nummer 2 zuweisen, beovr Bild 2 die Nummer 3 bekommt. Kurzfristig wären also zwei gleiche Primärschlüssel vorhanden, was nicht möglich ist.
Die Seiten- bzw. Bildernavigation habe ich mir von selfphp.de abgeschaut. Allerdings benutze ich eine vereinfachte Verion, so lade ich pro Seite nur ein Bild und die Navigation besteht nur aus einem Vor- und Zurückbutton. Außerdem beginne ich mit der letzten Seite (Bild mit höchster Nummer), wenn keine Seite als GET Varialbe übermittelt wird. Dazu zähle ich einfach alle Datensätze der Datenbank. Um meine Bildergallerie zu editieren, wird bei jedem Bild das entsprechende vorausgefüllte Formular (Titel, Reihungsnummer, Dateiname) geladen, wenn man als Administrator eingeloggt ist. Die Änderungen in der Datenbank sind mit den Funktionen rename() (Umbennen der Datei) sowie unlink() (Löschen der Datei) verknüpft. Sollte der Zugriff auf die Datenbank fehlschlagen, wird auch die entsprechende Datei nicht geändert. Umgekehrt erfolgt kein Zugriff auf die Datenbank, wenn es zu Problemen beim Löschen bzw. Umbennen der Datei der Datei kommt.