Formular Checkbox - Wert an email übergeben
Björn
- php
0 Cheatah0 Genie0 Sven Rautenberg0 Der Martin0 Genie
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";
?>
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
Hi, meinte den Wert eines Kontrollkästchen. Also entweder es ist ein Haken gesetzt oder nicht. Kann man das irgendwie übergeben ?
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
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
Der Wert (value) ist "Ja". Kann man den den überhaupt nicht übergeben ?
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
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
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
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";
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
Hi
Auch gut, an die Funktion hab ich grad net gedacht
mfg
Genie
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!!
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
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