Hi,
ich würde auch zunächst mal versuchen, das Skript ein wenig zu "entwirren"!
MySQL:
In der "if-Anweisung" fehlt der Verbindungsaufbau. Pack die MySQL-Geschichten doch erstmal in eine Klasse (dazu gibt es bestimmt einige freie im Netz, aber ansonsten ist sowas ja auch schnell zusammengeschrieben).
Übergebene Variablen:
Du liest $db_name einmal aus $_SESSION aus und einmal aus dem globalen Namensraum. Beides dürfte nicht funktionieren, da du weder eine Session laufen hast, noch die Variable irgendwo global gesetzt hast.
HTML-Tabellen und -Forms:
Die GUI würde ich in zumindest als "Pseudo-"Templates auslagern, sonst wirst du ja nicht mehr froh! Also lieber "oben" mit PHP-Code die Eingaben verarbeiten und Ausgabewerte in einen Variablen-Kontainer packen und dann "unten" oder in einem Include-File nur den HTML-Code ausgeben, ergänzt um die PHP-Variablen und ggf. auch -Schleifen und -Bedingungen.
Kodierungskonventionen:
Deine Variablen haben ja hübsch durcheinandere Bezeichnungen:
lname - db_name (mal mit Unterstrich, mal verbunden)
Inhalt, Feld (wobei ich garnicht weiß, woher die kommen) - und dann wieder Kleingeschriebenes
Und dann diese "text2" und "lname2" ... okay, Geschmackssache.
Aber lies mal ein bischen zu dem Thema, schau dich um, was so üblich ist und leg dich dann (zunächst ja im eigenen Interesse) auf bestimmte Regeln fest.
Kommentieren!!
Ich seh keinen einzigen Kommentar in dienem Skript. Besser solltest du jeden Schritt kommentieren, den du machst, sonst weißt du nach wenigen Tagen nicht mehr, was du gemacht hast bzw. du musst es erst wieder herausfinden, anstatt es einfach abzulesen!
...und dann bietet auch dieses Board die Möglichkeit Code entsprechend zu kennzeichnen, damit die Einrückungen nicht verloren gehen:
Anstatt:
Code:
if ($trallala) {
if (!do_something($trallala)) {
$error[] = "Don't like to do so";
}
}
kommt dann halt sowas bei raus:
if ($trallala) {
if (!do_something($trallala)) {
$error[] = "Don't like to do so";
}
}
Ja, und zum konkreten Problem nochmal:
Wenn der gepostete Code alles ist, dann kann da einiges nicht gehen, ansonsten poste doch mal das ganze Skript (am besten nachdem du es etwas geordnet hast...)
Basti