• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Kontaktformular

  • Ersteller Ersteller newlinux
  • Erstellt am Erstellt am
N

newlinux

Guest
Hallo @ all

Ich habe ein Problem mit einem Mail Formular. Ich würde es gerne so einrichten, dass die Mail, die danach geschickt wird, besser formatiert ist.

Und zwar soll die Mail folgendermassen formatiert werden:

Betreff: Kontaktanfrage von meiner Seite

Auswahl: [Auswahl zwischen "eine Frage stellen" oder "einen Termin vereinbaren" der Checkboxen]

Nachricht: [Text aus dem Formular]
Name: [Text aus dem Formular, fett]
Vorname: [Text aus dem Formular, fett]
Strasse, Nr.: [Text aus dem Formular]
PLZ/Ort: [Text aus dem Formular]
Email-Adresse: [Text aus dem Formular, gerade versehen mit einem "mailto:" ]
Telefon: [Text aus dem Formular]

Den Code, den ich bis jetzt entworfen habe:

PHP:
<?php
define(ADMIN_EMAIL, '[email protected]');

if (isset($_POST['btn_form_kontakt']))    {
    $form_valid = true;

    if (empty($_POST['text'])) {$error .= 'Bitte formulieren Sie Ihr Anliegen.'; $form_valid=false;}
    if (empty($_POST['name'])) {$error = 'Bitte geben Sie Ihren Namen an.<br />'; $form_valid=false;}
    if (empty($_POST['vorname'])) {$error .= 'Bitte geben Sie Ihren Vornamen an.<br />'; $form_valid=false;}
    if (empty($_POST['email']) || !validate_email($_POST['email'])) {$error .= 'Bitte geben Sie eine gültige Email-Adresse an.<br />'; $form_valid=false;}
    if (empty($_POST['telefon'])) {$error .= 'Bitte geben Sie Ihre Telefonnummer an.<br />'; $form_valid=false;}            

    if ($form_valid){
            $headers = 'From: '.ADMIN_EMAIL.' <'.ADMIN_EMAIL.'>' . "\r\n";
            $to = ADMIN_EMAIL;
            $subject = 'Kontaktanfrage von meiner Seite';

            $message = '
Anfragetyp: '.(isset($_POST['cb_termin']) ? $_POST['cb_termin'] : '').' '.(isset($_POST['cb_frage']) ? $_POST['cb_frage'] : '').'        

*************************************************************

Nachricht:
'.wordwrap($_POST['text'], 70).'

*************************************************************

Name: '.$_POST['name'].'
Vorname: '.$_POST['vorname'].'
Strasse, Nr.: '.$_POST['strasse'].'
PLZ/Ort: '.$_POST['plz_ort'].'
Email-Adresse: '.$_POST['email'].'
Telefon: '.$_POST['telefon'];

        
        mail($to, $subject, $message, $headers);
        
        echo '<p>Ihre Anfrage ist bei uns eingetroffen.</p>
            <p>Wir werden sie schnellstmöglich bearbeiten und danken für Ihre Geduld.</p>';
    }
    else print_kontakt_form($error);
}
else print_kontakt_form($error);


function print_kontakt_form($error){
?>
<p>Bitte füllen Sie alle mit * gekennzeichneten Felder aus.</p>

<?php echo '<p class="error">'.$error.'</p>'; ?>

<form id="form_kontakt" method="post" action="<?php echo $_SERVER['REQUEST_URI']; ?>#c54">
    <table id="tbl_kontakt" style="font-size:12px;" cellpadding="5" cellspacing="0">
        <tr>
            <td>Ich m&ouml;chte</td>
            <td><input type="checkbox" name="cb_termin" value="Termin" <?php if(isset($_POST['cb_termin'])) echo 'checked="checked"'; ?> /> einen Termin vereinbaren</td>
        </tr>
        <tr>
            <td></td>
            <td><input type="checkbox" name="cb_frage" value="Frage" <?php if(isset($_POST['cb_frage'])) echo 'checked="checked"'; ?> /> eine Frage stellen</td>
        </tr>
        <tr>
            <td colspan="2"></td>
        </tr>
        <tr>
            <td valign="top">Nachricht:*</td>
            <td><textarea name="text" id="text" cols="28" rows="10"><?php echo $_POST['text']; ?></textarea></td>
        </tr>
        <tr>
            <td colspan="2"></td>
        </tr>
        <tr>
            <td>Name:*</td>
            <td><input type="text" name="name" size="37" value="<?php echo $_POST['name']; ?>" /></td>
        </tr>
        <tr>
            <td>Vorname:*</td>
            <td><input type="text" name="vorname" size="37" value="<?php echo $_POST['vorname']; ?>" /></td>
        </tr>
        <tr>
            <td>Strasse, Nr.:</td>
            <td><input type="text" name="strasse" size="37" value="<?php echo $_POST['strasse']; ?>" /></td>
        </tr>
        <tr>
            <td>PLZ/Ort:</td>
            <td><input type="text" name="plz_ort" size="37" value="<?php echo $_POST['plz_ort']; ?>" /></td>
        </tr>                
        <tr>
            <td>Email-Adresse:*</td>
            <td><input type="text" name="email" size="37" value="<?php echo $_POST['email']; ?>" /></td>
        </tr>
        <tr>
            <td>Telefon:*</td>
            <td><input type="text" name="telefon" size="37" value="<?php echo $_POST['telefon']; ?>" /></td>
        </tr>
        <tr>
            <td colspan="2" align="right"><input class="submitbutton" type="submit" name="btn_form_kontakt" id="btn_form_kontakt" value="Senden" /></td>
        </tr>
    </table>
</form>
<?php } 










function validate_email($email){
    // Create the syntactical validation regular expression
   $regexp = "^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,4})$";

    // Presume that the email is invalid
   $valid = 0;

  // Validate the syntax
  if (eregi($regexp, $email)){
      list($username,$domaintld) = split("@",$email);
         // Validate the domain
      if (getmxrr($domaintld,$mxrecords))
            $valid = true;
      }
      else {
          $valid = false;
        }
     return $valid;
}?>

Was muss ich am Code ändern, damit er die gewünschte Formatierung erhält?

Vielen Dank für eure Antworten!
newlinux
 
PHP:
<?php
define(ADMIN_EMAIL, '[email protected]');

if (isset($_POST['btn_form_kontakt']))    {
    $form_valid = true;

    if (empty($_POST['text'])) {$error .= 'Bitte formulieren Sie Ihr Anliegen.'; $form_valid=false;}
    if (empty($_POST['name'])) {$error = 'Bitte geben Sie Ihren Namen an.<br />'; $form_valid=false;}
    if (empty($_POST['vorname'])) {$error .= 'Bitte geben Sie Ihren Vornamen an.<br />'; $form_valid=false;}
    if (empty($_POST['email']) || !validate_email($_POST['email'])) {$error .= 'Bitte geben Sie eine gültige Email-Adresse an.<br />'; $form_valid=false;}
    if (empty($_POST['telefon'])) {$error .= 'Bitte geben Sie Ihre Telefonnummer an.<br />'; $form_valid=false;}            

    if ($form_valid){
            $headers = 'MIME-Version: 1.0\n'; 
            $headers .= 'Content-type: text/html; charset=iso-8859-1\n';  
            $headers .= 'From: '.ADMIN_EMAIL.' <'.ADMIN_EMAIL.'>' . "\n";
            $to = ADMIN_EMAIL;
            $subject = 'Kontaktanfrage von meiner Seite';

            $message = '
Anfragetyp: '.(isset($_POST['cb_termin']) ? $_POST['cb_termin'] : '').' '.(isset($_POST['cb_frage']) ? $_POST['cb_frage'] : '').'        

*************************************************************

Nachricht:
'.wordwrap($_POST['text'], 70).'

*************************************************************

<b>Name: '.$_POST['name'].'</b>
<b>Vorname: '.$_POST['vorname'].'</b>
Strasse, Nr.: '.$_POST['strasse'].'
PLZ/Ort: '.$_POST['plz_ort'].'
Email-Adresse: '.$_POST['email'].'
Telefon: '.$_POST['telefon'];

        
        mail($to, $subject, $message, $headers);
        
        echo '<p>Ihre Anfrage ist bei uns eingetroffen.</p>
            <p>Wir werden sie schnellstmöglich bearbeiten und danken für Ihre Geduld.</p>';
    }
    else print_kontakt_form($error);
}
else print_kontakt_form($error);


function print_kontakt_form($error){
?>
<p>Bitte füllen Sie alle mit * gekennzeichneten Felder aus.</p>

<?php echo '<p class="error">'.$error.'</p>'; ?>

<form id="form_kontakt" method="post" action="<?php echo $_SERVER['REQUEST_URI']; ?>#c54">
    <table id="tbl_kontakt" style="font-size:12px;" cellpadding="5" cellspacing="0">
        <tr>
            <td>Ich m&ouml;chte</td>
            <td><input type="checkbox" name="cb_termin" value="Termin" <?php if(isset($_POST['cb_termin'])) echo 'checked="checked"'; ?> /> einen Termin vereinbaren</td>
        </tr>
        <tr>
            <td></td>
            <td><input type="checkbox" name="cb_frage" value="Frage" <?php if(isset($_POST['cb_frage'])) echo 'checked="checked"'; ?> /> eine Frage stellen</td>
        </tr>
        <tr>
            <td colspan="2"></td>
        </tr>
        <tr>
            <td valign="top">Nachricht:*</td>
            <td><textarea name="text" id="text" cols="28" rows="10"><?php echo $_POST['text']; ?></textarea></td>
        </tr>
        <tr>
            <td colspan="2"></td>
        </tr>
        <tr>
            <td>Name:*</td>
            <td><input type="text" name="name" size="37" value="<?php echo $_POST['name']; ?>" /></td>
        </tr>
        <tr>
            <td>Vorname:*</td>
            <td><input type="text" name="vorname" size="37" value="<?php echo $_POST['vorname']; ?>" /></td>
        </tr>
        <tr>
            <td>Strasse, Nr.:</td>
            <td><input type="text" name="strasse" size="37" value="<?php echo $_POST['strasse']; ?>" /></td>
        </tr>
        <tr>
            <td>PLZ/Ort:</td>
            <td><input type="text" name="plz_ort" size="37" value="<?php echo $_POST['plz_ort']; ?>" /></td>
        </tr>                
        <tr>
            <td>Email-Adresse:*</td>
            <td><input type="text" name="email" size="37" value="<?php echo $_POST['email']; ?>" /></td>
        </tr>
        <tr>
            <td>Telefon:*</td>
            <td><input type="text" name="telefon" size="37" value="<?php echo $_POST['telefon']; ?>" /></td>
        </tr>
        <tr>
            <td colspan="2" align="right"><input class="submitbutton" type="submit" name="btn_form_kontakt" id="btn_form_kontakt" value="Senden" /></td>
        </tr>
    </table>
</form>
<?php } 










function validate_email($email){
    // Create the syntactical validation regular expression
   $regexp = "^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,4})$";

    // Presume that the email is invalid
   $valid = 0;

  // Validate the syntax
  if (eregi($regexp, $email)){
      list($username,$domaintld) = split("@",$email);
         // Validate the domain
      if (getmxrr($domaintld,$mxrecords))
            $valid = true;
      }
      else {
          $valid = false;
        }
     return $valid;
}?>
Sollte funktionieren. Allerdings ungetestet und ohne Gewähr ;-)
 
falsche reighenfolge des headers....grundlagen lernen!
$header .= "Content-Type: text/html\n";
$header .= "MIME-Version: 1.0\n";

sind eig. grundlagen!

...dann kannst du mit html <b><7b> fett machen!
 

Neueste Beiträge

Zurück
Oben