Ankündigung

Einklappen
Keine Ankündigung bisher.

checkboxen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • checkboxen

    Hallo

    mal wieder da bin mit einem kleine problem

    ich habe ein formular dort sind verschieden checkboxen. wenn man eines auswählt wird in der DB eine 1 geschrieben wenn man nicht auswählt dann wird nichts gespeichert.....

    so nun möchte ich daten bearbieten können. sprich es gibt ein zweites formular und dort sollen alles daten aus der db ausgelesen werden und im formular schon drinnen stehen.... das funktioniert bei allen feldern....

    und nun das problem... bei den checkboxen bekomme ich das nich hin

    hier mein checkbox code

    PHP-Code:
    <input name="coldfusion" type="checkbox" class="inputfield" value="'.$row->coldfusion.'"  /> 


  • #2
    Damit eine checkbox bereits ohne Benutzeraktion markiert ist, muss im input Element das Attribut checked="checked" gesetzt sein.
    <input type="checkbox" name="xyz" checked="checked" />

    Kommentar


    • #3
      heisst das ich müsste bei den checkboxen den wer checked in die db eintragen?

      ich habs nun so gemacht dass wenn jemand eine checkbox geklickt hat dass in der db checked eingetragen wird

      und hier den code für die checkbox

      PHP-Code:
      <input name="ipadresse" type="checkbox" class="inputfield" checked="'.$row->ipadresse.'" value="checked"/> 
      jetzt ist es so dass die checkboxen wenn ich auf das bearbeiten formular gehe immer geklickt sind?

      Kommentar


      • #4
        genau,
        im gegensatz zu radiobuttons, wo man einer variable verschiedene dinge zuweisen kann (da immr nur max 1 radiobutton gewhlt sein kann) prüft man im normalfall bei checkboxen auf true oder false...

        bei checkboxen können mehrer gewählt sein, daher gibst du jeder box nen eigenen namen und unterscheidest halt nur 0 oder 1
        klar kannst du der box auch ne value geben
        PHP-Code:
        <input type="checkbox" name="variable" value="test"
        aber sinn macht das meiner meinung nach nicht soo viel... denn die variable kann ja nur den wert test haben oder leer sein...
        Under Construktion

        Kommentar


        • #5
          Ich würde abhängig von $row->ipadresse entweder checked="checked" oder garnichts ausgeben lassen - also auch kein checked="", einfach garkein Attribut namens checked

          Kommentar


          • #6
            und wie mach ich das?

            verstehe nichganz wie du das meinst?

            ich dachte dass wenn in der db tabelle IP steht checked

            wird ja aus checked="'.$row->ipadresse.'"
            automatisch ein checked="cehcked"
            smit ausgewählt


            und wenn nichts in der tabelle ist sollte dann ja stehn checked=""
            somit nicht ausgewählt

            oder versteh ich das falsch?

            Kommentar


            • #7
              Zitat von David Beitrag anzeigen
              also auch kein checked="", einfach garkein Attribut namens checked
              Einfach nichts ausgeben. Dafür brauchst Du eine if-Anweisung, PHP: if - Manual

              Kommentar


              • #8
                Schau dir doch einfach mal die Definition von Checkboxen an.
                Gruss
                L

                Kommentar


                • #9
                  hmm... ja die if anweisung kenn ich schon das ist nicht das problem an das hab ich ja selber auch schon gedacht.. da aber in dem formular ca 15 checkboxen sind müsste ich für jede eine eigene if abfrage machen und da dachte ich wenns vielleicht auch anders geht?

                  Kommentar


                  • #10
                    schleife? oder ne funktion...
                    Under Construktion

                    Kommentar


                    • #11
                      und jetzt kommt bei mir der schluspunkt...
                      weiss nich wie ich sowas machen könnte...

                      aber mal jetzt zu dem hier
                      ich dachte dass wenn in der db tabelle IP steht checked

                      wird ja aus checked="'.$row->ipadresse.'"
                      automatisch ein checked="cehcked"
                      smit ausgewählt


                      und wenn nichts in der tabelle ist sollte dann ja stehn checked=""
                      somit nicht ausgewählt

                      stimmt denn das so nicht?

                      es spielt ja keine rolle ob in der tabelle IP steht hanswurscht blabla oder sonst irgend was deshalb kann ich ja auch dern wert value="checked" nehmen und somit wird in der spalle IP der wert checked gespeichert....

                      beim formular wiederum haben wir ja bei der checkbox das checked=""
                      wenn doch jetzt in der spalte IP checked gespeichert ist müsste dort stehen checked="checked" und somit wie gesagt die checkbox ausgewählt sein und wenn in der spalte IP nicht checked steht sondern einfach gar nix dann müssten wir checked="" haben und somit müsste doch die checkbox nicht ausgewählt sein

                      ???oder seh ich das falsch???

                      Kommentar


                      • #12
                        Das siehst Du falsch. Probier es einfach mal selbst aus
                        Code:
                        <html>
                          <head></head>
                          <body>
                            <form method="post" action="">
                              <div>
                                1<input type="checkbox" checked="checked" /><br />
                                2<input type="checkbox" checked="k-ching" /><br />
                                3<input type="checkbox" checked="" /><br />
                                4<input type="checkbox"  /><br />
                                <input type="submit" />
                              </div>
                            </form>
                          </body>
                        </html>
                        Welche Checkboxes sind markiert?

                        Es kommt nicht darauf an, welchen Wert das Attribut checked hat sondern darauf, ob das Element überhaupt ein Element checked besitzt.

                        Kommentar


                        • #13
                          Naja das ist halt nen Browserproblem, wobei checked="" auch nicht valide ist.

                          ich machs mir einfach in dem ich mit 0 und 1 (false und true) arbeite und dann ein if($ergebnis == 1) echo "checked=\"checked\""; mache, dann bist du auf der sicheren seite

                          [edit]
                          zur Aufklärung: In HTML war es früher üblich einfach

                          <input type="checkbox" checked>

                          bzw.

                          <input type="checkbox">

                          für nicht ausgewählte boxen zu schreiben, um aber leere attribute zu vermeiden hat man das irgendwann abgeschafft. Ob das nun sinnvoll war oder nicht ist ne anderer frage...

                          Kommentar


                          • #14
                            ok das ist schön einfach und kann ich so ganz einfach einbauen .... dank dir vielmals.... ich dachte wirklich nich dass ich dermassen verzweifle wegen diese doofen checkboxen

                            Kommentar


                            • #15
                              Zitat von cycap Beitrag anzeigen
                              Naja das ist halt nen Browserproblem, wobei checked="" auch nicht valide ist.
                              Ein "Problem", das mindestens Firefox und der IE haben. Und damit ist es das Problem des Entwicklers
                              checked="" -> checkbox wird markiert, mindestens im quirks mode.
                              Und deshalb genau das tun
                              Zitat von cycap Beitrag anzeigen
                              und dann ein if($ergebnis == 1) echo "checked=\"checked\"";

                              Kommentar

                              Lädt...
                              X