Hallo!
Ich habe ein Problem mit einem Kontakformular. Ich habe leider nicht viel Ahnung von PHP, darum werde ich mich an euch.
Das Formular sendet bis auf die E-Mail Adresse keine Informationen weiter.
Hier der Code:
<?php
/* überprüfung ob der verschicken button gedrückt wurde */
if(isset($_POST['submit'])) {
$check_zero = true;
} else {
$check_zero = false;
}
/* überprüfung ob $absender_name ausgefüllt wurde */
if(!empty($_POST['absender_anrede'])) {
$check_one = true;
} else {
$check_one = false;
}
/* überprüfung ob $absender_vorname ausgefüllt wurde */
if(!empty($_POST['absender_vorname'])) {
$check_one = true;
} else {
$check_one = false;
}
/* überprüfung ob $absender_nachname ausgefüllt wurde */
if(!empty($_POST['absender_nachname'])) {
$check_one = true;
} else {
$check_one = false;
}
/* überprüfung ob $absender_email ausgefüllt wurde und ob die Email richtig ist */
if(!empty($_POST['absender_email'])) {
$check_two = true;
} else {
$check_two = false;
}
$absender_email = preg_replace("#[;#\n\r*'"<>&%!(){}[]?\/\s]#","",$_POST['absender_email']);
if(!preg_match("/^.+@([?)[a-zA-Z0-9-.]+.([a-zA-Z]{2,4}|[0-9]{1,4})(]?)$/",$absender_email)<1) {
$check_two_alpha = true;
} else {
$check_two_alpha = false;
}
/* überprüfung ob $absender_telefon ausgefüllt wurde */
if(!empty($_POST['absender_telefon'])) {
$check_three = true;
} else {
$check_three = false;
}
/* überprüfung ob $absender_land ausgefüllt wurde */
if(!empty($_POST['absender_land'])) {
$check_three = true;
} else {
$check_three = false;
}
/* überprüfung ob $absender_bestellung ausgefüllt wurde */
if(!empty($_POST['absender_bestellung'])) {
$check_three = true;
} else {
$check_three = false;
}
/* überprüfungen der wichtigen eingaben */
if($check_zero == 0 or $check_one == 0 or $check_two == 0 or $check_two_alpha == 0 or $check_three == 0) {
echo "Eines der Pflichtfelder wurde entweder nicht Ordnungsgemäß ausgefüllt oder Sie haben eins davon vergessen auzufüllen!\n
Bitte kehren Sie Zurück und überprüfen Sie ihre Eingaben!";
exit;
}/* es werden ein paar sachen definiert */
$email_empfaenger = 'maxikostieg@web.de';
$email_betreff = 'Bestellung von AP-H';$absender_name = $_POST['absender_name'];
$absender_email = $absender_email;
$absender_anrede = $absender_anrede;
$absender_vorname = $absender_vorname;
$absender_nachname = $absender_nachname;
$absender_email = $absender_email;
$absender_telefon = $absender_telefon;
$absender_land = $absender_land;
$absender_bestellung = $absender_bestellung;
$absender_angaben = $_POST['angaben'];/* gestaltung der email die an uns geht */
$angaben = "
Anrede:<$absender_anrede>
Vorname:<$absender_vorname>
Nachname:<$absender_nachname>
E-Mail:<$absender_email>
Telefon:<$absender_telefon>
Land:<$absender_land>
Produkt:<$absender_bestellung>
";if(mail($email_empfaenger,$email_betreff,$angaben,"From: $absender_email")) {
echo "Vielen Dank, Ihr Nachricht wurde Erfolgreich Versand!\nWir werde so Schnell wie möglich darauf Antworten!";
} else {
echo "Es Tut uns Leid aber Ihre Nachricht konnte nicht Versand werden!\nVersuchen Sie es doch nocheinmal!\n\n
Sie können auch Ihren Email Client Benutzen\n\nMeine Email: $email_empfaenger";}
?>
>
>
> HTML Code:
>
> ~~~html
<h1>Bestellformular</h1>
>
> <form method="post" action="mailer.php">
> <table width="300" border="0" bordercolor=black cellspacing="0" cellpadding="0" height=400>
> <td valign=top>Anrede:</td>
> <td valign=top><label for="frau"><input type="radio" name="absender_anrede" value="Frau">Frau</label><label for="herr"><input type="radio" name="absender_anrede" value="Herr">Herr</label>
> </tr>
> <tr>
> <td colspan=2 height=17></td>
> </tr>
> <tr>
> <td valign=top>Vorname:</td>
> <td><input type="text" name="absender_vorname"></td>
> </tr>
> <tr>
> <td colspan=2 height=17></td>
> </tr>
> <tr>
> <td valign=top>Nachname:</td>
> <td><input type="text" name="absender_nachname"></td>
> </tr>
> <tr>
> <td colspan=2 height=17></td>
> </tr>
> <tr>
> <td valign=top>Email:</td>
> <td valign=top><input type="text" name="absender_email"></td>
> </tr>
> <tr>
> <td colspan=2 height=17></td>
> </tr>
> <tr>
> <td valign=top>Telefon:</td>
> <td valign=top><input type="text" name="absender_telefon" value="+49 "> </td>
> </tr>
> <tr>
> <td colspan=2 height=17></td>
> </tr>
> <tr>
> <td valign=top>Land:</td>
> <td valign=top><select name="absender_land">
> <option value="Deutschland">Deutschland</option>
> <option value="Östereich">Östereich</option>
> <option value="Schweiz">Schweiz</option>
> </select>
> </td>
> </tr>
> <td colspan=2 height=17></td>
> </tr>
> <tr>
> <td valign=top>Produkt:</td>
> <td valign=top><select name="absender_bestellung">
> <option value="Fossilien aus dem Campan Hannovers (2. verbesserte Auflage)">Fossilien aus dem Campan Hannovers (2. verbesserte Auflage)</option>
> </select>
> </td>
> <td colspan=2 height=17></td>
> </tr>
> <tr>
> <td valign=top>Kontrollbox:</td>
> <td><input name="absender_checkbox" type="checkbox" value="test"> <font size="0.5em">Hiermit bestätige ich, dass alle Daten vollständig und richtig sind.</font></td>
> </tr>
> <tr>
> <td colspan=2 height=17></td>
> </tr>
> <tr>
> <td></td>
> <td valign=top><input type="submit" name="submit" value="Abschicken"> <input type="reset" value="Zurücksetzen"></td>
> </tr>
> </table>
> </form>
So schaut die E-Mail aus:
Anrede:<>
Vorname:<>
Nachname:<>
E-Mail:m.stieg@gmx.net
Telefon:<>
Land:<>
Produkt:<>Ich hoffe ihr könnt mir helfen.
Mit freundlichen Grüßen
Pixelmeister
PS: Hier ist die HP. http://www.ap-h.de/a.html
Die einzigen Angaben, die du per PHP übernimmst, sind
$absender_email = preg_replace("#[;#\n\r\*'"<>&%!(){}[]?\/\s]#","",$_POST['absender_email']);
und
$absender_name = $_POST['absender_name'];
dann mailst du nur die Mailadresse weiter
$angaben = "
Anrede:<$absender_anrede>
Vorname:<$absender_vorname>
Nachname:<$absender_nachname>
E-Mail:<$absender_email>
Telefon:<$absender_telefon>
Land:<$absender_land>
Produkt:<$absender_bestellung>
";
und die bekommst du ja auch.
Meinst du, du könntest die POST-Werte abholen mit
$absender_anrede = $absender_anrede;
Das ist der Denkfehler.
Kalle