Jessica: Checkboxes

Guten Morgen!

Ich habe 2 kleine Fragen zur Verwendung von Checkboxes in Formularen mit PHP:

  1. Wie kann ich bewirken, dass die Checkboxes bei einem Fehler beim Ausfüllen des Formulars trotzdem angehakt bleiben ?

  2. Wenn ich mehr als 1 Checkbox habe, kann ich den Inhalt (die angehakten Checkboxes) über einen Array (z.B.: foreach $auswahl as elem) abfragen. Wenn ich aber nun wissen möchte, ob eine bestimmte Checkbox der beiden angehakt ist, wie geht das dann ?
    Mit "if($elem == "Auswahl1") kann man nur ein pos. Ergbenis erhalten, wenn man nur wirklich diese eine Checkbox angehakt hat. Wenn aber nun beide angehakt sind ?

Danke.

Gruss Jessica

  1. Halihallo Jessica

    1. Wie kann ich bewirken, dass die Checkboxes bei einem Fehler beim Ausfüllen des Formulars trotzdem angehakt bleiben ?

    Du generierst das Formular über PHP und ergänzt im HTML bei
    <input type="checkbox" checked="checked" /> für aktivierte
    Checkboxen. Ob eine Checkbox angehakt ist, kannst du z.B. in
    der Session speichern.
    Oder du verwendest javascript:history.back() um auf die Formularseite
    zurückzukommen und aktivierst das Browsercaching. So sollten die
    vom User eingegebenen Daten nach wie vor im Formular stehen
    (theoretisch sollte dies auch ohne Caching funktionieren, aber die
    Praxis spricht manchmal (IE?) anders.)

    Um die PHP-Anticache Header zu umgehen:
    ---
    session_cache_limiter('cache');
    header( 'Pragma: cache', TRUE );
    header( 'Expires: ' . gmdate("D, d M Y H:i:s", time()+1440) . ' GMT', TRUE);
    header( 'Cache-Control: store, cache', TRUE );
    ---

    1. Wenn ich mehr als 1 Checkbox habe, kann ich den Inhalt (die angehakten Checkboxes) über einen Array (z.B.: foreach $auswahl as elem) abfragen. Wenn ich aber nun wissen möchte, ob eine bestimmte Checkbox der beiden angehakt ist, wie geht das dann ?

    Man gibt den verschiedenen, gleichnamigen Checkboxen unterschiedliche
    Werte und prüft, ob dieser Wert im Array vorkommt.

    Mit "if($elem == "Auswahl1") kann man nur ein pos. Ergbenis erhalten, wenn man nur wirklich diese eine Checkbox angehakt hat. Wenn aber nun beide angehakt sind ?

    ... muss du eben prüfen, ob beide Werte im Array vorkommen.

    Viele Grüsse

    Philipp

    --
    The only program that runs perfectly every time, is a virus.