Ankündigung

Einklappen
Keine Ankündigung bisher.

Checkbox in Formmailer ausgeben

Einklappen

Neue Werbung 2019

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

  • Checkbox in Formmailer ausgeben

    ich habe in nem php-file (emailformular) 5 checkboxes.
    diese sind folgender maßen deklariert in html:

    PHP-Code:
    <input name="Ich möchte euch besuchen" type="checkbox" value="<?php echo $_POST['besuch']; ?>"/>Ich möchte euch besuchen<br />
                                    <input name="Ich wünsche weitere Informationen" type="checkbox" value="<?php echo $_POST['info']; ?>"/>Ich wünsche weitere Informationen<br />
                                    <input name="Ich suche ein Zimmer" type="checkbox" value="<?php echo $_POST['zimmer']; ?>"/>Ich suche ein Zimmer<br />
                                    <input name="Ich möchte einen Stadtplan von München" type="checkbox" value="<?php echo $_POST['plan']; ?>"/>Ich möchte einen Stadtplan von München<br />
                                    <input name="Ich möchte Biertrinken und Feiern" type="checkbox" value="<?php echo $_POST['feiern']; ?>"/>Ich möchte Biertrinken und Feiern

    und so in php:

    PHP-Code:
        if(trim($_POST['besuch']) == "") {
            
    $error 0;
        }
        if(
    trim($_POST['info']) == "") {
            
    $error 0;
        }
        if(
    trim($_POST['zimmer']) == "") {
            
    $error 0;
        }
        if(
    trim($_POST['plan']) == "") {
            
    $error 0;
        }
        if(
    trim($_POST['feiern']) == "") {
            
    $error 0;
        } 

    Ausgabeinfo in Mail:

    PHP-Code:
    $content .= "Ich möchte euch besuchen: ".$_POST['besuch']."<br />\n";
            
    $content .= "Ich wünsche weitere Informationen: ".$_POST['info']."<br />\n";
            
    $content .= "Ich suche ein Zimmer: ".$_POST['zimmer']."<br />\n";
            
    $content .= "Ich möchte einen Stadtplan von München: ".$_POST['plan']."<br />\n";
            
    $content .= "Ich möchte Biertrinken und Feiern: ".$_POST['feiern']."<br />\n";
            
    $content .= "Betreff: ".$_POST['betreff']."<br />\n";            
            
    $content .= "Nachricht: ".$_POST['other']."<br />\n"


    Bis jetzt ist es so, dass es nicht offentsichtlich ist, welche Box ausgewählt wurde.

    Was muss ich da ändern, dass man in der Mail erkennt, in welche/n Box/en ein Häkchen gesetzt wurde??

    schon mal vielen Dank


  • #2
    Hey, machs doch so:

    Code:
    <?php
    <input type="checkbox" name="haekchen[]" value="eins" />
    <input type="checkbox" name="haekchen[]" value="zwei" />
    <input type="checkbox" name="haekchen[]" value="drei" />
    <!-- .. -->
    Jetzt werden ja nur angekreuzte Checkboxen uebertragen, deshalb kannst du das so auslesen:
    PHP-Code:
    <?php
    $blnHasCheckboxes 
    array_key_exists("haekchen"$_POST);
    if (
    $blnHasCheckboxes) {
      
    $strText implode(", "$_POST["haekchen"]); // "eins, zwei"
    } else {
      
    $strText "nichts angekreuzt";
    }
    ?>
    Durch die eckigen Klammern bekommst du nun einen Array zurueck, den du mit implode() komma-separiert in einen String schreibst.

    Gruss,
    c
    "Mein Name ist Lohse, ich kaufe hier ein."

    Kommentar


    • #3
      Hallo Renovatio,

      du hast einen Bug in deiner HTML-Definition. Wenn du schon

      name="Ich wünsche weitere Informationen"
      schreibst, musst du den Inhalt der Checkbox auch mit

      PHP-Code:
      $_REQUEST['Ich wünsche weitere Informationen'
      addressieren.

      --> verschoben nach Anfänger
      Viele Grüße,
      Dr.E.

      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      1. Think about software design before you start to write code!
      2. Discuss and review it together with experts!
      3. Choose good tools (-> Adventure PHP Framework (APF))!
      4. Write clean and reusable software only!
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

      Kommentar


      • #4
        Ja und solche langen Namen für Formularfelder sollte man auf jeden Fall vermeiden!
        Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
        http://www.lit-web.de

        Kommentar


        • #5
          Du hast doch beim Formular die name="xyz" mit dem du erkennen kannst in welche checkbox welche Antwort geschrieben wurde... mit dieser info... xyz

          Gruß
          Volker

          Kommentar

          Lädt...
          X