Fredy: PHP-Formular

Beitrag lesen

Hallo,

ich versuche zum ersten Mal ein Kontaktformular von einfacher Mailto-Funktion in PHP umzuschreiben. Als Vorlage  nutze ich ein fremdes Formular mit PHP, wo ich nur die Namen und die  Eigenschaften meiner HTML-Elemente hinzufüge.

Es klappt bei den Online-Tests gar nicht und der PHP-Abschnitt wird gar nicht im Seitenquellentext
angezeigt.
Was ist falsch? Sicher könnte man das Skript reduzieren und korrigieren.

Vielen Dank!
Fredy

<?php
$mailto    = "info@immo-leistungen.de";

$send_msg    = "";
$name_err    = "";
$email_err   = "";
$msg_err     = "";
$betreff_err = "";

if (!empty($_POST['send'])) {

$error = 0;
    if (empty($_POST['from_name'])) {
        $name_err = "Geben Sie Ihren Namen ein!";
        $error = 1;
    } else {
$from_name = filter($_POST['from_name']);
    }
    if (empty($_POST['from_email']) || !preg_match("/[1][\w.-]*@[A-z0-9][\w-.]+.[A-z0-9]{2,6}$/", $_POST['from_email'])) {
        $email_err = "Geben Sie Ihre eMail-Adresse ein!";
        $error = 1;
    } else {
        $from_email = $_POST['from_email'];
    }
    if (empty($_POST['from_betreff'])) {
        $betreff_err = "Geben Sie den Betreff ein!";
        $error = 1;
    } else {
        $from_betreff = filter($_POST['from_betreff']);
    }
    if (empty($_POST['from_msg'])) {
        $msg_err = "Geben Sie die Nachricht ein!";
        $error = 1;
    } else {
        $from_msg = preg_replace("/(content-type:|bcc:|cc:|to:|from:)/im", "",  $_POST['from_msg']);
    }

if (!$error) {
        if (@mail($mailto, "impressum_kontakt1", "Betreff: $from_betreff\n\nNachricht:\n$from_msg", "From: $from_name <$from_email>")) {
            $send_msg = "Ihre Nachricht wurde erfolgreich gesendet.<br><br>";
            unset($_POST['from_name']);
            unset($_POST['from_email']);
            unset($_POST['from_betreff']);
            unset($_POST['from_msg']);
        } else {
            $send_msg = "Fehler!";
        }
    }
}

function filter($input) {
    $result = preg_replace("/[^a-z0-9 !?:;,./_-=+@#$&\*()]/im", "",  $input);
    return preg_replace("/(content-type:|bcc:|cc:|to:|from:)/im", "",  $result);
}

?>

<?=$send_msg?>

<form action="<?=$_SERVER['smtp.strato.de']?>" method="post">

<fieldset id="il">

<p><label for="name">Name:</label>
<input name="from_name" id="name" type="text" value="<? if (!empty($_POST['from_name'])) echo $_POST['from_name']; ?>"><?=$name_err?></p>

<p><label for="email">E-Mail:</label>
<input  name="from_email" id="email" type="text" value="<? if (!empty($_POST['from_email'])) echo $_POST['from_email']; ?>"><?=$email_err?></p>

<p><label for="betreff">Betreff:</label>
<input name="from_betreff" id="betreff" type="text" value="<? if (!empty($_POST['from_betreff'])) echo $_POST['from_betreff']; ?>"><?=$betreff_err?></p>

<textarea name="from_msg" id="from_msg"cols=38 rows=5><? if (!empty($_POST['from_msg'])) echo $_POST['from_msg']; ?></textarea><?=$msg_err?>

<input nane="absenden" type="submit"class="submit" value="Absenden"/>
<input name="Reset"type="reset"class="reset" value="L&ouml;schen"/>
</fieldset>
</form>


  1. A-z0-9 ↩︎