Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Checkbox Array in SQL DB eintragen

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Checkbox Array in SQL DB eintragen

    Hallo Leute,

    ich bin neu hier und habe gleich mal eine Frage, bei der ich schon lange stehe und nicht weiter komme.

    Mein Code sieht folgendermaßen aus:
    PHP-Code:
    <br><input type="checkbox" name="news[]" value="pena"> <b>Newsletter La Pe&ntilde;a</b>
                <
    br><br><input type="checkbox" name="news[]" value="ricky"> <b>Newsletter Ricardo Jonas</b>

    $sql "insert into user (nachname, vorname, email, news_ricky, news_pena)
                values('
    $_POST[nachname]', '$_POST[vorname]', '$_POST[email]', '$_POST[news][0]', '$_POST[news][1]');"
    Mein Problem ist dass der Array "$_POST[news]" nicht richtig ausgegeben bzw. in der DB eingetragen wird. In der Spalte steht dann einfach nur "Array"

    Wie kriege ich es nun hin dass er den Wert der Checkbox reinschreibt, also "pena" und "ricky" und wenns nicht angeklickt ist, dann eben nichts und zwar beide in jeweils eine seperate Spalte?!

    Ich wär euch für eine Lösung sehr dankbar. Glaubt mir, ich habe schon so einiges ausprobiert.

    Gruß Daniel


  • #2
    Deine Arrayschlüssel sind keine Strings. Schraub das Error reporting in die Höhe, es sollte Warnungen geben...

    Falsch:
    PHP-Code:
    $sql "insert into user (nachname, vorname, email, news_ricky, news_pena)
                values('
    $_POST[nachname]', '$_POST[vorname]', '$_POST[email]', '$_POST[news][0]', '$_POST[news][1]');"
    Richtig:
    PHP-Code:
    $sql "insert into user (nachname, vorname, email, news_ricky, news_pena)
                values('"
    .$_POST['nachname']."', '".$_POST['vorname']."', '".$_POST['email']."', '".$_POST['news'][0]."', '".$_POST['news'][1]."');"
    Glaubt mir, ich habe schon so einiges ausprobiert.
    Aha, und was?
    Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

    Kommentar


    • #3
      Ja lol, das war ja easy....aber wieso die Punkte vorne und hinten? Die Notation bei PHP is manchmal schon komisch find ich.
      Aber es tut auf jeden Fall....ich danke dir!

      Ich habe sämtliche Varianten mit ' " und Klammern etc. ausprobiert, aber diese leider noch nich

      Kannst mir vielleicht noch sagen wie ich das aktuelle Datum in ne extra Spalte kriege?

      Habe das folgendermaßen probiert:
      PHP-Code:

      $datum 
      date("Y-m-d");
      values('".$_POST[nachname]."''".$_POST[vorname]."''".$_POST[email]."''".$_POST['news'][0]."''".$_POST[news][1]."''$datum');"; 
      es kommt aber nichts in der DB an...

      Kommentar


      • #4
        Mist, in der DB steht es nun zwar richtig drin aber ich bekomme folgende Fehler:

        Notice: Use of undefined constant nachname - assumed 'nachname' in C:\xampp\htdocs\ricardojonas\newsletter.php on line 130

        Notice: Use of undefined constant vorname - assumed 'vorname' in C:\xampp\htdocs\ricardojonas\newsletter.php on line 130

        Notice: Use of undefined constant email - assumed 'email' in C:\xampp\htdocs\ricardojonas\newsletter.php on line 130

        Notice: Use of undefined constant news - assumed 'news' in C:\xampp\htdocs\ricardojonas\newsletter.php on line 130


        Ich glaube dann habe ich das vielleicht doch schon mal so probiert, aber mit der Fehlermeldung kann ich nich leben ^^

        Kommentar


        • #5
          und in besagter Zeile 130 steht was?

          Kommentar


          • #6
            sorry...

            PHP-Code:
            values('".$_POST['nachname']."''".$_POST['vorname']."''".$_POST['email']."''".$_POST['news'][0]."''".$_POST['news'][1]."''$datum');"; 
            das mit dem Datum habe ich eben hinbekommen, hatte nen dummern Fehler drin.
            Fehlen nur noch diese blöden Meldungen weg zu kriegen, auch wenn alles hintenrum tut.

            Kommentar


            • #7
              ok, nun habe ich es hingekriegt, hatte noch ein paar Fehler drin.
              Das Datum habe ich auch in die Zeile gebracht, die in SQL mit dem Typ Datum deklariert ist. Wie kriege ich das Selbe mit der Uhrzeit hin? Dafür gibt es nämlich keinen Typ, er schreibt nur 0000-00-00 rein.

              Kommentar


              • #8
                Zitat von 2Pac Beitrag anzeigen
                Ja lol, das war ja easy....aber wieso die Punkte vorne und hinten? Die Notation bei PHP is manchmal schon komisch find ich.
                Aber es tut auf jeden Fall....ich danke dir!

                Ich habe sämtliche Varianten mit ' " und Klammern etc. ausprobiert, aber diese leider noch nich
                Du musst dir klar machen, was die beiden Stringbegrenzer ' und " machen, wann man sie am besten einsetzt, wie man sie kombiniert und was escaping ist.

                Die Notation ist nicht komisch, sondern folgt klaren Regeln, bitte den Grundlagen-Thread beachten.
                Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                Kommentar


                • #9
                  Ich will es ja auch verstehen, habe es aber bisher nicht. Ich brings mir ja auch nur selber bei.

                  Aber danke für den Tipp, das werd ich mir mal durchlesen.

                  Kommentar


                  • #10
                    Vorher braucht man sowas auch gar nicht weiterdiskutieren. Das macht sovielSpaß wie Puzzeln mit jemandem, der beide Arme in Gips hat.
                    --

                    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                    Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                    --

                    Kommentar

                    Lädt...
                    X