Björn: Formular Checkbox - Wert an email übergeben

Hallo ich möchte den wert einer Checkbox aus einem Formular übergeben in eine email, wie mache ich das ? Bei Textfeldern funktioniert das ohne Probleme. Hier der Quelltext:

<?php
//1. Werte aus den Feldern in Variable übernehmen.
$vorname  = $_POST['vorname'];
$nachname   = $_POST['nachname'];
$ort  = $_POST['ort'];
$betreff = $_POST['betreff'];
$angebot = $_POST['angebot']; // <---- Checkbox

//2. Mail erstellen
$mailtext =
"Kundeninformationen:

vorname: $vorname
nachname: $nachname
ort: $ort
betreff: $betreff
angebot: $angebot
";

//3. versenden
@mail('*********','Kontaktformular',$mailtext);

//4. Ausgabe
echo "Ihre mail wurde versandt";

?>

  1. Hi,

    Hallo ich möchte den wert einer Checkbox aus einem Formular übergeben in eine email, wie mache ich das ? Bei Textfeldern funktioniert das ohne Probleme.

    welchen value hat denn die Checkbox?

    echo "Ihre mail wurde versandt";

    Wäre Dein Problem übrigens ein anderes, wenn Du den Wert nicht für eine E-Mail bräuchtest, sondern z.B. in einer Datenbank speichern oder darauf basierend eine Datei erstellen wolltest?

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hi, meinte den Wert eines Kontrollkästchen. Also entweder es ist ein Haken gesetzt oder nicht. Kann man das irgendwie übergeben ?

      1. Hell-O!

        Hi, meinte den Wert eines Kontrollkästchen. Also entweder es ist ein Haken gesetzt oder nicht. Kann man das irgendwie übergeben ?

        PHP-FAQ: Wie kann man Checkboxen verarbeiten?

        Siechfred

        --
        Hier könnte Ihre Werbung stehen.
        Musikgeschmack || Das Steuerblog  || RT 221 Erfurt-Altstadt i.V.
      2. Hi,

        Hi, meinte den Wert eines Kontrollkästchen.

        ja. Wie lautet der?

        Also entweder es ist ein Haken gesetzt oder nicht.

        Das ist GUI. Wie lautet der _Wert_?

        Kann man das irgendwie übergeben ?

        Nein, die GUI kannst Du nicht übergeben.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Der Wert (value) ist "Ja". Kann man den den überhaupt nicht übergeben ?

          1. Hi,

            Der Wert (value) ist "Ja". Kann man den den überhaupt nicht übergeben ?

            wenn das tatsächlicher der value ist, wird er übegeben. Ich persönlich denke übrigens, dass "Ja" nur selten ein passender _Wert_ ist; es dürfte i.d.R. vielmehr als dargestellter Text in Frage kommen.

            Cheatah

            --
            X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
            X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
  2. Hi

    Bei nur einer Checkbox:

      
    <input type="checkbox" name="volljaehrig" value="ja"> Ich bin volljährig  
    
    

    PHP:

      
    if(isset($_POST["volljaehrig"]) && $_POST["volljaehrig"] == "ja")  
    $volljaehrig == "ja";  
    else  
    $volljaehrig == "nein";  
    
    

    Bei mehreren Checkboxen:

      
    <input type="checkbox" name="pizza[]" value="salami"> Salami  
    <input type="checkbox" name="pizza[]" value="tomaten"> Tomaten  
    <input type="checkbox" name="pizza[]" value="kaese"> Käse  
    
    

    Achte auf pizza[] ! Dann wird ein Array draus.
                   ^^
    PHP:

      
    if(isset($_POST["pizza"]))  
    {  
     for($i=0;$i<count($_POST["pizza"]);$i++)  
     {  
      $pizza.=$_POST["pizza"];  
      $pizza.="/n";  
     }  
    }else{  
    $pizza == "nichts";  
    }  
    
    

    mfg
    Genie

    1. Moin!

      PHP:

        
      
      > if(isset($_POST["pizza"]))  
      > {  
      
      /* Das kriegt man aber auch einfacher hin:  
      
      >  for($i=0;$i<count($_POST["pizza"]);$i++)  
      >  {  
      >   $pizza.=$_POST["pizza"];  
      >   $pizza.="/n";  
      >  }  
      
      */  
         $pizza = implode(", ",$_POST['pizza']); // durch Komma separiert  
      
      > }else{  
      > $pizza == "nichts";  
      > }  
      
      

      - Sven Rautenberg

      --
      "Love your nation - respect the others."
      1. echo $begrüßung;

        /* Das kriegt man aber auch einfacher hin:

        for($i=0;$i<count($_POST["pizza"]);$i++)
          $pizza.=$_POST["pizza"];

        Nicht nur das, auch wurde $pizza vor der Schleife kein definierter Wert zugewiesen. Das erzeugt nicht nur eine Notice, so man sich diese wichtigen Hinweismeldungen anzeigen lässt (Stichwort: error_reporting auf E_ALL stellen)), sondern kann auch noch zu unerwünschten Ergebnissen führen, falls ein anderer, zeitlich eher ablaufender Programmteil $pizza schon mal verwendet hat oder register_globals auf on steht.

        echo "$verabschiedung $name";

        1. Hi

          Hi

          Hast recht. Ich hab den Code schnell getippt ohne ihn zu testen. Man müsste vor der for-Schleife ein

            
          $pizza = "";
          

          einfügen.

          mfg
          Genie

    2. Hallo,

      if(isset($_POST["volljaehrig"]) && $_POST["volljaehrig"] == "ja")

      $volljaehrig == "ja";
      else
      $volljaehrig == "nein";

        
      danach ist $volljaehrig immer noch undefiniert, weil du der variablen keinen Wert zugewiesen hast. Ein C-Compiler würde beispielsweise ausgeben:  
       Warning: Code has no effect  
        
      
      > `  $pizza.="/n";`{:.language-PHP}  
        
      Und was ist das? Die Zeichenkette "/n" ist als Trennzeichen sehr ungewöhnlich. Was versprichst du dir von diesem "Trick"? Oder meintest du gar das Steuerzeichen für einen Zeilenvorschub "\n"?  
        
      
      > `$pizza == "nichts";`{:.language-PHP}  
      
       Warning: Code has no effect  
        
      So long,  
       Martin  
      
      -- 
      Die letzten Worte des stotternden Beifahrers:  
      Frei... frei... frei... freilich kommt da was!!
      
      1. Hi

        danach ist $volljaehrig immer noch undefiniert, weil du der variablen keinen Wert zugewiesen hast. Ein C-Compiler würde beispielsweise ausgeben:
        Warning: Code has no effect

        Ja, mag sein, ich hab noch nie C programmiert, aber oben das soll ja auch kein C sein, sondern PHP! Außerdem hab ich ich einen Wert ("ja" oder "nein") zugewiesen.

        mfg
        Genie

        1. Hallo,

          danach ist $volljaehrig immer noch undefiniert, weil du der variablen keinen Wert zugewiesen hast. Ein C-Compiler würde beispielsweise ausgeben:
          Warning: Code has no effect
          Ja, mag sein, ich hab noch nie C programmiert, aber oben das soll ja auch kein C sein, sondern PHP!

          sollte auch nur ein Vergleich sein, weil PHP eben _keine_ solche Warnung ausgibt, schließlich ist die Anweisung ja syntaktisch korrekt, wenn auch sinnlos.

          Außerdem hab ich ich einen Wert ("ja" oder "nein") zugewiesen.

          Nein. Du hast $volljaehrig nur mit den Strings "ja" bzw. "nein" verglichen und das Ergebnis des Vergleichs dann ignoriert. Sieh dir deine Zeilen noch einmal genau an. :-)

          Ciao,
           Martin

          --
          Der Bäcker schlägt die Fliegen tot
          Und macht daraus Rosinenbrot.