Hallo
<?php
if ($uid == "Wing-Commander") {
echo "<form action='index.php?".session_name()."=".session_id()."&seite=members&nid=".$uid."' method='POST'>";
echo "<td bgcolor='#D3D3D3'>
<a href='index.php?".session_name()."=".session_id()."&seite=members&nid=".$uid."&change=true&ID=".$row['ID']."&stat=a'>a</a> ...
<a href='index.php?".session_name()."=".session_id()."&seite=members&nid=".$uid."&change=true&ID=".$row['ID']."&glob=3'>3</a><br>
<input type='text' id='a' name='aufgabe' value='".$row['aufgabe']."' size='20'>
<input type='text' id='a' name='urlaubstage' value='".$row['urlaubstage']."' size='2' maxlength='2'>
<input id='a' type='submit' value='A'>
<input type='hidden' name='ID' value='".$row['ID']."'>
</form>
</td>";
}
?>
1. Dir ist klar, dass bei Benutzung eines der Links die Werte des Formulars _nicht_ mit übertragen werden und dass das Gleiche im umgekehrten Fall gilt?
2. Überlege, welche der GET-Parameter du wirklich im Link brauchst. Eventuell[1] lassen sich ein oder mehrere Werte als $_SESSION-Wert speichern. Dazu ist eine solche geradezu prädestiniert.
3. Vielleicht bietet es sich auch an, die jetzt mittels Links angesprochenen Funktionen ebenfalls mit einem Formularelement auszuwählen (<select>
oder <input type="radio">
). Somit müssten die Werte nur einmal, nämlich im Formular, übergeben werden und nicht -zigfach sowohl in Links als auch im Formular.
4. Der Parameter "seite" soll vermutlich ausdrücken, dass du dich in der Administration befindest? Du rufst alle Funktionen innerhalb einer index.php auf, egal ob sie (die Funktion) für einen Besucher oder für dich als Administrator gedacht ist?
Wenn ja, entkopple dies. Schaffe einen Administrationsbereich z.B. in einem eigenen Verzeichnis. Damit brauchst du weder Parameter noch Abfragen, die zwischen Administrator und Benutzer unterscheiden. Außerdem kannst du mit .htaccess arbeiten, so du ein eigenes Verzeichnis benutzt, um nur berechtigten Usern den Zugriff auf die Administration zu gewähren.
5. Du benutzt in drei <input>
s die ID "a". Eine ID darf in einem Dokument nur _einmal_ vorkommen, da sie ein Element von allen anderen Elementen unterscheidbar machen, also einen eindeutigen Namen geben soll.
[1] Natürlich lassen sich alle Werte so speichern, aber vielleicht ist es nur in einigen Fällen sinnvoll.
Tschö, Auge