Kontaktformular: Checkbox anfügen

julieann

Erfahrenes Mitglied
Hallo!
Ich habe ein Kontaktformular mit Pflichtfeldern. Das klappt soweit auch. Aber ich möchte nun noch eine Checkbox integrieren. Wenn diese angeklickt wurde, soll der Mailnachricht ein Zusatz angefügt werden ("Prospekte zusenden bitte" z.B.) . Das kriege ich aber nicht hin. Ich habe hier mal das Formular:

http://www.oecocolor.de/kontakt_test.php
Könnt ihr mir da weiterhelfen?

Hier der entsprechende Quellcode:

PHP:
<?php
// wenn das Formular übermittelt wurde
if(isset($_POST['abschicken'])){
    while(list($feld,$wert)=each($HTTP_POST_VARS)){
        // übermittelte Inhalte "entschärfen"
        $wert=preg_replace("/(content-type:|bcc:|cc:|to:|from:)/im", "",$wert);
           $$feld=$wert;
        // die übermittelten Variablen werden zum "Text der Email" zusammengefasst
        if($feld!="abschicken"){
            $mailnachricht.=ucfirst($feld).": $wert\n";
		        }
    }
    $mailnachricht.="\nDatum/Zeit: ". date("d.m.Y H:i:s");
    // Überprüfen ob alle Pflichtfelder gefüllt sind
    empty($nachname) ? $err[] = "<p>- Bitte den Nachnamen angeben.</p>" : false;
    empty($vorname) ? $err[] = "<p>- Bitte den Vornamen angeben.</p>" : false; 
    empty($email) ? $err[] = "<p>- Bitte die Email-Adresse angeben.</p>" : false; 
    empty($text) ? $err[] = "<p>- Welchen Wunsch haben Sie? Bitte den Text eingeben.</p>" : false; 
    // wenn nicht, werden die Fehlermeldungen ausgegeben und das "halbgefüllte" Formular angezeigt
    if(!empty($err)) {
        echo "<p>Bitte korrigieren Sie folgende Fehler:</p>";
        foreach($err as $fehler){
            echo $fehler;
        } ?>
        <form action="#" method="post">
        <table width="100%" border="0" cellpadding="3" cellspacing="1">
        <tr><td width="140" align="right">*Nachname:</td><td align="left"><input type="text" name="nachname" value="<?php echo $nachname; ?>" style="width:100%;" /></td></tr>
        <tr><td align="right">*Vorname:</td><td align="left"><input type="text" name="vorname" value="<?php echo $vorname; ?>" style="width:100%" /></td></tr>
        <tr><td align="right">Firma:</td><td align="left"><input type="text" name="firma" value="<?php echo $firma; ?>" style="width:100%" /></td></tr>
        <tr><td align="right">Straße, Hausnr.:</td><td align="left"><input type="text" name="strasse" value="<?php echo $strasse; ?>" style="width:100%" /></td></tr>
        <tr><td align="right">PLZ, Ort:</td><td align="left"><input type="text" name="ort" value="<?php echo $ort; ?>" style="width:100%" /></td></tr>
		<tr><td align="right">Telefon:</td><td align="left"><input type="text" name="telefon" value="<?php echo $telefon; ?>" style="width:100%" /></td></tr>
        <tr><td align="right">Telefax:</td><td align="left"><input type="text" name="fax" value="<?php echo $fax; ?>" style="width:100%" /></td></tr>
		<tr><td align="right">*E-Mail:</td><td align="left"><input type="text" name="email" value="<?php echo $email; ?>" style="width:100%" /></td></tr>
        <tr><td align="right">Prospektmaterial bestellen:</td><td align="left"><INPUT TYPE=CHECKBOX NAME="prospekt" VALUE="yes"></td></tr>
		<tr><td colspan="2"><textarea rows="12"  style="width:100%" name="text"><?php echo $text; ?></textarea></td><td>&nbsp;</td></tr>
        <tr><td colspan="2" align="left" nowrap><br /><input type="reset" value="Formular l&ouml;schen" style="width:49%" />&nbsp;&nbsp;<input type="submit" name="abschicken" class="button" value="Formular absenden" style="width:49%" /></td></tr>
        </table>
        </form>
        <p>*Pflichtfelder</p>
<?php    // sind keine Fehler vorhanden, wird die Email versendet
    } else {
        $mailbetreff="Kontaktformular ".$_SERVER['HTTP_HOST'];
        // HIER DIE EMPFÄNGER EMAIL-ADRESSE ANPASSEN        
        if(mail("annika.julie.boettcher@googlemail.com", $mailbetreff, $mailnachricht, "From: $email")){
            echo "<p>Vielen Dank für Ihre eMail!</p>";
        } else {
            echo "<p>Ein Fehler ist aufgetreten!</p>";
        }
    }
// das Formular welches als erstes dem Besucher angezeigt wird
} else { ?>
        <form action="#" method="post">
        <table width="100%" border="0" cellpadding="3" cellspacing="1">
        <tr><td width="140" align="right">*Nachname:</td><td align="left"><input type="text" name="nachname" value="" style="width:100%;" /></td></tr>
        <tr><td align="right">*Vorname:</td><td align="left"><input type="text" name="vorname" value="" style="width:100%" /></td></tr>
        <tr><td align="right">Firma:</td><td align="left"><input type="text" name="firma" value="" style="width:100%" /></td></tr>
        <tr><td align="right">Straße, Hausnr.:</td><td align="left"><input type="text" name="strasse" value="" style="width:100%" /></td></tr>
        <tr><td align="right">PLZ, Ort:</td><td align="left"><input type="text" name="ort" value="" style="width:100%" /></td></tr>
		<tr><td align="right">Telefon:</td><td align="left"><input type="text" name="telefon" value="" style="width:100%" /></td></tr>
        <tr><td align="right">Telefax:</td><td align="left"><input type="text" name="fax" value="" style="width:100%" /></td></tr>
		<tr><td align="right">*E-Mail:</td><td align="left"><input type="text" name="email" value="" style="width:100%" /></td></tr>
        <tr><td align="right">Prospektmaterial bestellen:</td><td align="left"><INPUT TYPE=CHECKBOX NAME="prospekt" VALUE="yes"></td></tr>
		<tr><td colspan="2"><textarea rows="12"  style="width:100%" name="text"></textarea></td><td>&nbsp;</td></tr>
        <tr><td colspan="2" align="left" nowrap><br /><input type="reset" value="Formular l&ouml;schen" style="width:49%" />&nbsp;&nbsp;<input type="submit" name="abschicken" value="Formular absenden" style="width:49%" /></td></tr>
        </table>
        </form>
        <p>*Pflichtfelder</p>
        <?php
}
?>
 
Hi

Eine Checkbox in HTML würde ich mit Anführungszeichen schreiben:
HTML:
<input type="checkbox" name="name_deiner_checkbox" value="true" />

Mit php kannst du das wie folgt abfragen:
PHP:
if( isset($_POST["name_deiner_checkbox"]) ){
  //Checkbox angeklickt
}
 
OK, das weiß ich ja, wie ich das Abfrage.
Aber wie füge ich dann eine entsprechende Information an die zu verschickende Mail?
Das wäre doch an dieser Stelle:

PHP:
if(isset($_POST['abschicken'])){ 
    while(list($feld,$wert)=each($HTTP_POST_VARS)){ 
        // übermittelte Inhalte "entschärfen" 
        $wert=preg_replace("/(content-type:|bcc:|cc:|to:|from:)/im", "",$wert); 
           $$feld=$wert; 
        // die übermittelten Variablen werden zum "Text der Email" zusammengefasst 
        if($feld!="abschicken"){ 
            $mailnachricht.=ucfirst($feld).": $wert\n"; 
                } 
    }
 
Einfach einfügen wenn die Checkbox angehakt wurde?
PHP:
$mail = "Hier ist Ihre mail.";
if( isset($_POST["checkbox"]) ){
  $mail .= "Prospekt zusenden?"
}
 
Ja, so dachte ich ja auch, aber das geht irgendwie nicht.

Hier mal der Code:

PHP:
<?php
// wenn das Formular übermittelt wurde
if(isset($_POST['abschicken'])){
    while(list($feld,$wert)=each($HTTP_POST_VARS)){
        // übermittelte Inhalte "entschärfen"
        $wert=preg_replace("/(content-type:|bcc:|cc:|to:|from:)/im", "",$wert);
           $$feld=$wert;
        // die übermittelten Variablen werden zum "Text der Email" zusammengefasst
        if($feld!="abschicken"){
            $mailnachricht.=ucfirst($feld).": $wert\n";
		        }
    }
	if( isset($_POST['prospekt']) )
  	$mailnachricht.= "\nProspektmaterial ist gewünscht." 
    $mailnachricht.="\nDatum/Zeit: ". date("d.m.Y H:i:s");
	
    // Überprüfen ob alle Pflichtfelder gefüllt sind
    empty($nachname) ? $err[] = "<p>- Bitte den Nachnamen angeben.</p>" : false;
    empty($vorname) ? $err[] = "<p>- Bitte den Vornamen angeben.</p>" : false; 
    empty($email) ? $err[] = "<p>- Bitte die Email-Adresse angeben.</p>" : false; 
    empty($text) ? $err[] = "<p>- Welchen Wunsch haben Sie? Bitte den Text eingeben.</p>" : false; 
    // wenn nicht, werden die Fehlermeldungen ausgegeben und das "halbgefüllte" Formular angezeigt
    if(!empty($err)) {
        echo "<p>Bitte korrigieren Sie folgende Fehler:</p>";
        foreach($err as $fehler){
            echo $fehler;
        } ?>
        <form action="#" method="post">
        <table width="100%" border="0" cellpadding="3" cellspacing="1">
        <tr><td width="140" align="right">*Nachname:</td><td align="left"><input type="text" name="nachname" value="<?php echo $nachname; ?>" style="width:100%;" /></td></tr>
        <tr><td align="right">*Vorname:</td><td align="left"><input type="text" name="vorname" value="<?php echo $vorname; ?>" style="width:100%" /></td></tr>
        <tr><td align="right">Firma:</td><td align="left"><input type="text" name="firma" value="<?php echo $firma; ?>" style="width:100%" /></td></tr>
        <tr><td align="right">Straße, Hausnr.:</td><td align="left"><input type="text" name="strasse" value="<?php echo $strasse; ?>" style="width:100%" /></td></tr>
        <tr><td align="right">PLZ, Ort:</td><td align="left"><input type="text" name="ort" value="<?php echo $ort; ?>" style="width:100%" /></td></tr>
		<tr><td align="right">Telefon:</td><td align="left"><input type="text" name="telefon" value="<?php echo $telefon; ?>" style="width:100%" /></td></tr>
        <tr><td align="right">Telefax:</td><td align="left"><input type="text" name="fax" value="<?php echo $fax; ?>" style="width:100%" /></td></tr>
		<tr><td align="right">*E-Mail:</td><td align="left"><input type="text" name="email" value="<?php echo $email; ?>" style="width:100%" /></td></tr>
        <tr><td align="right">Prospektmaterial bestellen:</td><td align="left"><input type="checkbox" name="prospekt" value="true" /></td></tr>
		<tr><td colspan="2"><textarea rows="12"  style="width:100%" name="text"><?php echo $text; ?></textarea></td><td>&nbsp;</td></tr>
        <tr><td colspan="2" align="left" nowrap><br /><input type="reset" value="Formular l&ouml;schen" style="width:49%" />&nbsp;&nbsp;<input type="submit" name="abschicken" class="button" value="Formular absenden" style="width:49%" /></td></tr>
        </table>
        </form>
        <p>*Pflichtfelder</p>
<?php    // sind keine Fehler vorhanden, wird die Email versendet
    } else {
        $mailbetreff="Kontaktformular ".$_SERVER['HTTP_HOST'];
        // HIER DIE EMPFÄNGER EMAIL-ADRESSE ANPASSEN        
        if(mail("annika.julie.boettcher@googlemail.com", $mailbetreff, $mailnachricht, "From: $email")){
            echo "<p>Vielen Dank für Ihre eMail!</p>";
        } else {
            echo "<p>Ein Fehler ist aufgetreten!</p>";
        }
    }
// das Formular welches als erstes dem Besucher angezeigt wird
} else { ?>
        <form action="#" method="post">
        <table width="100%" border="0" cellpadding="3" cellspacing="1">
        <tr><td width="140" align="right">*Nachname:</td><td align="left"><input type="text" name="nachname" value="" style="width:100%;" /></td></tr>
        <tr><td align="right">*Vorname:</td><td align="left"><input type="text" name="vorname" value="" style="width:100%" /></td></tr>
        <tr><td align="right">Firma:</td><td align="left"><input type="text" name="firma" value="" style="width:100%" /></td></tr>
        <tr><td align="right">Straße, Hausnr.:</td><td align="left"><input type="text" name="strasse" value="" style="width:100%" /></td></tr>
        <tr><td align="right">PLZ, Ort:</td><td align="left"><input type="text" name="ort" value="" style="width:100%" /></td></tr>
		<tr><td align="right">Telefon:</td><td align="left"><input type="text" name="telefon" value="" style="width:100%" /></td></tr>
        <tr><td align="right">Telefax:</td><td align="left"><input type="text" name="fax" value="" style="width:100%" /></td></tr>
		<tr><td align="right">*E-Mail:</td><td align="left"><input type="text" name="email" value="" style="width:100%" /></td></tr>
        <tr><td align="right">Prospektmaterial bestellen:</td><td align="left"><INPUT TYPE=CHECKBOX NAME="prospekt" VALUE="yes"></td></tr>
		<tr><td colspan="2"><textarea rows="12"  style="width:100%" name="text"></textarea></td><td>&nbsp;</td></tr>
        <tr><td colspan="2" align="left" nowrap><br /><input type="reset" value="Formular l&ouml;schen" style="width:49%" />&nbsp;&nbsp;<input type="submit" name="abschicken" value="Formular absenden" style="width:49%" /></td></tr>
        </table>
        </form>
        <p>*Pflichtfelder</p>
        <?php
}
?>
 
PHP:
 $mailnachricht.= "\nProspektmaterial ist gewünscht."

Hier fehlt(e) ein Semikolon ;)

OH MANN sozusagen :D
 
Zurück