Kalle_B: Problem mit Kontaktformular

Beitrag lesen

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&uuml;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