Daten aus dynamischen Checkboxen in Datenbank eintragen

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

  • Daten aus dynamischen Checkboxen in Datenbank eintragen

    Hi!

    So..jetzt hab ich das nochmal bearbeitet..

    ich bastel jetzt schon eine ganze Weile daran, Daten aus einem Formular in eine Datenbank einzutragen.

    Die Seite sieht so aus:


    <? require_once('Connections/myop.php');
    error_reporting(E_ALL);

    ?>
    <html>
    <head>
    <title>Unbenanntes Dokument</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>

    <body>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    1: <input name="form[]" type="checkbox" value="1"><br>
    2: <input name="form[]" type="checkbox" value="2"><br>
    3: <input name="form[]" type="checkbox" value="3"><br>
    4: <input name="form[]" type="checkbox" value="4"><br>
    5: <input name="form[]" type="checkbox" value="5"><br>
    <input type="submit" name="auswahl" value="abschicken">
    </form>

    <?php


    if(isset($_POST['auswahl']) AND !empty($_POST['form']))
    {

    for($x=0;$x<sizeof($_POST['form']);$x++)
    {
    mysql_select_db($database_myop, $myop);

    $blub=$_POST['form'][$x];
    $eintrag= "INSERT INTO gemerkte_umfragen (user_ID) VALUES ($blub)";
    $eintragen = mysql_query($eintrag) or die(mysql_error().'<hr />'. $eintrag .'<hr />');

    }


    }

    ?>
    </body>
    </html>


    Im Moment ist es so, dass ich, wenn ich keinen Datensatz in der Datenbank habe, das Formular einmal ausführen kann. Dann steht ein Datensatz in der Datenbank. Wenn ich das Formular nocheinmal ausführen will um weitere Werte in die Datenbank zu speichern kommt folgende Fehlermeldung:


    Duplicate entry '0' for key 1
    INSERT INTO gemerkte_umfragen (user_ID) VALUES (1)


    Es wird also nur 1 Wert eingetragen.

    der SOLL-Zustand ist aber, dass für jede Checkbox ein eigener Eintrag in der Datenbank angelegt werden soll.



    Wer kann mir denn weiterhelfen?
    Zuletzt geändert von mr_gentleman; 14.03.2008, 22:00.

  • #2
    Lesen http://www.php-resource.de/forum/sho...threadid=50454

    Kommentar


    • #3
      Alles klar..habe jetzt das obere Beispiel nochmal besser dargestellt.

      Ich hoffe es ist jetzt besser verständlich

      Kommentar


      • #4
        Original geschrieben von mr_gentleman
        Ich hoffe es ist jetzt besser verständlich
        NEIN
        Lies den von asp2php genannten Thread nochmals
        Gruss
        H2O

        Kommentar


        • #5
          der SOLL-Zustand ist aber, dass für jede Checkbox ein eigener Eintrag in der Datenbank angelegt werden soll.

          Dem ist aber nicht so, sondern es wird immer nur 1 Wert in die Datenbank gespeichert und nicht alle Checkboxen auf einmal.

          Kommentar


          • #6
            Kool, du hilfst dir selber.

            [FONT="Helvetica"]twitter.com/unset[/FONT]

            Shitstorm Podcast – Wöchentliches Auskotzen

            Kommentar


            • #7
              hmm

              Naja.. Theorie und Praxis des Programmierens sind schon recht weit auseinander.. aber na gut..

              Das Script so wie es oben dargestellt ist, läuft einfach nicht. Es wird nämlich KEIN einzelner Eintrag für jede Checkbox angelegt!

              Erkennt ihr irgendwelche Fehler? Ich weiß einfach nicht woran es liegen kann und hab schon alles mögliche probiert.

              Kommentar


              • #8
                Hallo,

                das Skript arbeitet einwandfrei. form[] erzeugt das Array $_POST["form"], in dem alle Einträge vorhanden sind, die aktiviert wurden.
                Die Besonderheit, die es bei Checkboxen zu beachten gilt ist die, dass bei nicht aktivierter Checkbox nicht etwa 0 oder false gesendet wird, sondern gar nichts. Wenn man also prüfen will, ob eine Checkbox aktiviert wurde, muss man eine Prüfung per isset() vornehmen.

                Kommentar


                • #9
                  Zweimal auf die Regeln aufmerksam gemacht worden und immer noch nix? Drum **trash**
                  Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                  [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                  Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                  Kommentar

                  Lädt...
                  X