Formular, mehrere Checkboxen prüfen, Werte in Session-ID speichern, Werte zurückgeben

  • Hallo zusammen,


    ich habe nun eine Woche PHP-Unterricht hinter mir. Meine Hausaufgabe ist es, ein Formular zu erstellen, dessen Werte in einer Session-ID gespeichert werden. Nach dem Absenden des Formulars werden dem User alle Einträge noch einmal gezeigt, und er kann ggf. mit einem Zurück-Link ins Formular zurückkehren und seine Angaben ändern, die sich dank der Session-ID noch immer in den Formularfeldern befinden. Das habe ich alles hinbekommen, es funktioniert.


    Was nicht funktioniert, sind mehrere Checkboxen. Wenn ich eine davon auswähle, das Formular absende und mir die Ausgabe auf der Ergebnisseite anschaue, ist alles in Ordnung, nur der Wert der gewählten Checkbox wird angezeigt. Kehre ich aber zum Formular zurück, sind alle drei Boxen ausgewählt. Meine Überprüfung mit isset funktioniert hier also nicht. Das ist der Code:



    Ich komme nicht darauf, welchen Wert ich zusätzlich prüfen müsste, damit das "checked" nur für die wirklich gesetzten Checkboxen übernommen wird. Oder muss ich bei mehreren Checkboxen ganz anders vorgehen?


    Ich danke im Voraus für jede Hilfe!


    Gruß

    Felix


    ---


    Nachtrag: Ich habe hier mal den entsprechenden Code in einem funktionierenden PHP-Dokument, bereinigt um alles Überflüssige. Das macht es bestimmt einfacher für Euch. Sorry, hätte ich schon vorhin machen sollen. :|


    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von Failix ()

  • Immer wieder wichtig:


    Richtig debuggen

    1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
    2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(-1);
    3. Man verwendet ini_set('display_errors', true); damit die Fehler auch angezeigt werden.
    4. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    5. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde. Wichtig bei MySQL Fehlern (...not a valid MySQL result resource...): mysqli_error() verwenden oder Abfrage ausgeben und zb mit phpmyadmin testen.
    6. Schritt 5 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    7. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    8. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    9. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.