ursus contionabundo: Leere Checkbox erkennen

Beitrag lesen

Natürlich spielt auch die Reihenfolge der <input>-Felder eine Rolle.

Auf diese Reihenfolge kann man sich aber nie verlassen. Weil der Frontender …

Aber der Enctype darf sie nicht verändern und das ist ganz Wesentlich! Enctype application/x-www-form-urlencoded und multipart/form-data verändern die Reihenfolge nicht.

Der "Frontender" aber schon. Der soll ja ein Design umsetzen - und da gilt "form follows function" nicht in Bezug auf die Programmierung des Backends. Also sendet man nicht "on" sondern vereinbart dass die Checkboxen (um die es hier geht) jeweils einen markanten und sprechenden Value haben und denkt (als "Backender") daran, eben diese Werte vor einer Auswertung, einem Vergleich oder einer Suche (z.B. in_array()) a) zu trimmen und b) mit etwas wie strtolower() zu behandeln um wenigstens solchen Schreibfehlern zu begegnen.

Ich bin auch bei meinem eigenen Zeug kein Freund von solchen Reihenfolgen. Beispiel aus dem PHP-Manual:

### Zuordnung nach Reihenfolge:
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$sth->execute(array(150, 'red'));

... und da hätte ich die Reihenfolge selbst in der Hand.

Lieber notiere ich etwas mit Namen:

### Zuordnung mit Namen/Keys/Variablen:
$sql = 'SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour';
$sth = $dbh -> prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$sth -> execute(array(':calories' => 150, ':colour' => 'red'));

oder, erst jetzt "gut":

$sql = '
SELECT 
    name, colour, calories
FROM
    fruit
WHERE
        calories < :calories
    AND colour   = :colour';

$stmt = $dbh -> prepare( $sql );
$stmt -> bindParam( ':calories', $calories );
$stmt -> bindParam( ':colour'  , $color    );

$calories = 150;
$color    = 'red';

$stmt -> execute();

Ich fürchte mich nämlich davor, SELBST die Reihenfolge zu verwechseln und dann gegen "esoterischen Bugs" (beatovich) kämpfen zu müssen. Wer das (wie ich) schon mal hatte, der weiß sehr genau, wie garstig diese Käfer täuschen und tricksen damit man sie nicht erkennt. Aus dem Grund bin ich auch ein Freund einer nicht zeilensparenden, maximal übersichtlichen Notation.

Ansonsten bin ich nicht so überzeugt davon, durch den User-Agent Formulardaten in json zu packen und dann abzusenden. Jedenfalls nicht in jedem Fall. Grund: Mehr Code -> mehr Fehler.

0 83

Leere Checkbox erkennen

Linuchs
  • html
  1. 0
    pl
  2. 1
    beatovich
    1. 0
      pl
      1. 1
        beatovich
        1. -1
          pl
          1. 0
            beatovich
            1. 0
              pl
              1. 0
                beatovich
                1. 0
                  TS
                2. 0
                  pl
                  1. 0
                    beatovich
                    1. 0
                      pl
                      1. 0
                        Gunnar Bittersmann
                        • menschelei
          2. 0
            TS
        2. 0

          HTML ist an vielen Stellen noch unsinnig!

          TS
          • html
          • meinung
          1. 0
            pl
          2. 0
            Linuchs
            1. 0
              pl
              1. 0
                Linuchs
                1. 0
                  pl
                2. 0
                  Felix Riesterer
                3. 0
                  pl
          3. 0
            beatovich
          4. 0
            ursus contionabundo
          5. 0
            ursus contionabundo
            1. 0
              TS
              1. 0
                Felix Riesterer
                • html
  3. 0
    dedlfix
    1. 0
      pl
      1. 0
        dedlfix
  4. 0
    Felix Riesterer
    1. 0
      TS
      • geschichte
      • html
      • meinung
      1. 0
        Felix Riesterer
        • html
      2. 0
        Auge
        1. 0
          Felix Riesterer
    2. 0
      Gunnar Bittersmann
      • design
      1. 0
        Felix Riesterer
        1. 0
          Gunnar Bittersmann
          1. 0
            Felix Riesterer
            1. 0
              Gunnar Bittersmann
              1. 0
                pl
                1. 0
                  dedlfix
                  1. 0
                    pl
                2. 0
                  Gunnar Bittersmann
                  • menschelei
                  1. 2
                    pl
                3. 0
                  beatovich
                  1. 0
                    TS
                    • design
                    • html
                    • php
                    1. 0
                      beatovich
                      1. 0
                        TS
                        1. 0
                          pl
                          1. 2
                            dedlfix
                            1. 0
                              pl
                              1. 0
                                TS
                                • html
                                • model
                                • php
                              2. 0
                                dedlfix
                          2. 0
                            TS
                            1. 0
                              Rolf B
                              1. 0
                                beatovich
                                1. 0
                                  TS
                              2. 0
                                Gunnar Bittersmann
                                • menschelei
                            2. 0
                              pl
                              1. 0
                                beatovich
                              2. 1
                                ursus contionabundo
                                1. 0
                                  pl
                                  1. 0
                                    TS
                                    • https
                                    • php
                      2. -3
                        pl
                        1. 0
                          beatovich
                          1. 0
                            pl
                            1. 1
                              ursus contionabundo
                              1. 0
                                Felix Riesterer
                                • design
                                • meinung
                                • menschelei
                              2. 0
                                pl
              2. 0
                ursus contionabundo
                1. 0
                  Gunnar Bittersmann
                2. 0
                  TS
                  • html
                  • meinung
                  • recht
                  1. 0
                    Rolf B
                    1. 0
                      TS
                    2. 0

                      Vertrauen auf die Gerichte?

                      ursus contionabundo
    3. 1
      beatovich
      1. 0
        Felix Riesterer
        1. 0
          Gunnar Bittersmann
          • design
          • html
          1. 0
            Matthias Apsel
            1. 0
              Gunnar Bittersmann
              1. 0
                Matthias Apsel