Wie auch Rolf schrieb: Mach mal Deine Pläne (z.B. darf jeder Benutzer die Links hinzufügen, bearbeiten, löschen - wenn „ja“ nur bestimmte? - und wenn bestimmte, wie wird das festgelegt? ...), mach mal die Mockups, zeig uns Deine Datenbankstruktur und die Schritte.
Definiere und beschreibe jeden einzelnen Schritt für jedem Benutzungsablauf. (Links suchen und anzeigen, Authentifizierung, ggf. Abmelden, Hinzufügen, Ändern, Löschen der Links, Hinzufügen, Ändern, Löschen der Kategorien; ggf. Abmelden). Vergiss die Benutzerkonfiguration nicht: Hinzufügen, Ändern, Löschen der Benutzer.
Du wirst feststellen, dass nur kleine Änderungen an den angedachten Arbeitsabläufen teilweise große Änderungen am Ablauf, also in Deinen Skripten erfordern. Beginnt man mit dem Programmieren fürchtet man diese umfangreichen Änderungen und behält erkannten Murks bei: Aus diesem Grund macht man erst mal einen Plan.
Und noch etwas: Ich habe gerade mal eben im Netz mit dem Begriffen „Linkliste PHP“ gesucht. Und stieß gleich beim ersten Suchtreffer auf die erste Katastrophe:
include "konfiguration.php";
#...
if ($BENUTZER_PASSWORT[$_POST["name"]] === $_POST["passwort"])
Grober Fehler: Das Passwort wird im Klartext gespeichert, zudem wurde es in einer Konfigurationsdatei untergebracht. Dafür wird, vorliegend völlig „sinnfrei“, ein typstrenger Vergleich durchgeführt. So endet es, wenn man erlerntes Wissen nicht anwenden kann.
Zweite Katastrophe:
$LINK_TAB = "ja";
„Wenn man zu doof ist true
oder 1
zu tippen, notiert man eben "ja". Geht ja viel einfacher, wie auch der schöne spätere Vergleich. Und da habe ich noch kein Wort zum Variablenname gesagt.“ - So wird sich meine Kritik lesen … 😇
Ach so: Bei dieser Nutzerzahl teile ich die Besorgnis bezüglich des Zugriffsschutzes via http/htaccess nicht grenzenlos. (Immerhin bewirkt das empfohlene Server-Modul mod_evasive im Nebeneffekt auch einen gewissen Schutz gegenüber „brute force“-Attacken - falls die Passwörter hinreichend lang und sicher sind. (→ Arbeitsschritt: Überprüfen der Passwörter beim Anlegen und Ändern der Benutzer) Frag Deinen Hoster, ob er dieses oder etwas ähnliches installiert hat.) Aber Du solltest - egal, wie Du das realisierst, darauf achten, dass Benutzernamen und Passwörter nicht im Klartext übertragen werden (schon bei der Aufforderung zur Anmeldung HTTPS erzwingen, danach erst recht.) Die übrigen Bedenken (keine Abmeldung) kann man umgehen - die Benutzer müssen halt wissen wie man handelt, wenn man sich an fremde Rechner setzt um mal im Web was nachzusehen (und ob man in einem solchen Fall überhaupt Passwörter eingibt). Die „Kirche im Dorf zu lassen“ (Du hast nach Deinen Worten 10 bekannte Benutzer) ist, wie wohl nie perfekt, aber eben auch hin und wieder nicht die schlechteste Idee, manchmal die Grundlage dafür, dass überhaupt irgendetwas entstehen kann.
Noch ein Rat: Versuche nicht, die Darstellung und ein Formular für das Editieren der Links auf der selben Webseite zu bewirken.