Karl: Formularauswertung ergibt manchmal "Array"

Hallo,

ich habe in meinem Formular ein Feld eingebaut, bei dem man mehrere Antworten ankreuzen kann. Diese werden ausgelesen:
if (isset($_POST['Branche'])) {
  reset($_POST['Branche']);
  foreach ($_POST['Branche'] as $k => $v){
  $branche = implode(',', $_POST['Branche']);}}

dadurch habe ich es geschafft, dass "Array" nicht mehr als Ergebnis in der Tabelle der Datenbank steht, sondern die einzelnen Ergebnisse. Es klappt eigentlich.
Nur manchmal bekomme ich doch ein "Array" angezegt in dem Tabellenfeld. Wieso ?

  1. echo $begrüßung;

    reset($_POST['Branche']);
      foreach ($_POST['Branche'] as $k => $v){

    Ein foreach benötigt kein reset(), das macht das von selbst.

    Nur manchmal bekomme ich doch ein "Array" angezegt in dem Tabellenfeld. Wieso ?

    Vermutlich weil es eins ist und du es im String-Kontext auszugeben versuchst. Betreibe Debugging. Kontrollausgaben mit var_dump() sind dabei hilfreich. Vielleicht hast du einen Zweig in deinem Program, in dem das Array nicht implodiert wird.

    foreach ($_POST['Branche'] as $k => $v){
      $branche = implode(',', $_POST['Branche']);}}

    Etwas mehr Einrückung und bessere Klammernnotation macht den Code lesbarer. Was bitte willst du mit diesem Konstrukt erreichen? Das foreach ist komplett nutzlos. Die zweite Zeile allein erreicht das gleiche Ergebnis.

    echo "$verabschiedung $name";

    1. Danke, es hat sich erledigt. Der Fehler wurde behoben.

      1. Hi Karl!

        Danke, es hat sich erledigt. Der Fehler wurde behoben.

        Und wie?
        Oder möchtest du keine weiteren Tipps?

        MfG H☼psel

        --
        "It's amazing I won. I was running against peace, prosperity, and incumbency."
        George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
        Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
  2. Hi Karl!

    Nur manchmal bekomme ich doch ein "Array" angezegt in dem Tabellenfeld. Wieso ?

    2 Fragen:
    1. Gibt es einen ELSE-Zweig?
    2. Was passiert, wenn $_POST['Branche'] ein leeres Array ist?

    Beachte, was dedlfix geschrieben hat und verstehe erst einmal den Code, den du produziert hast. Hilfreich dabei können Kommentare sein. Wenn du das getan hast, kannst du den kommentierten Code ja mal hier posten und wir geben weitere Verbesserungsvorschläge.

    MfG H☼psel

    --
    "It's amazing I won. I was running against peace, prosperity, and incumbency."
    George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
    Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)