Kontaktformular

bifur81

Mitglied
Hallo zusammen,

ich habe ein kleines Problem, ich habe ein Kontakformular in php für meine Website geschrieben, aber die generierte Mail kommt leider nicht! Den Ausgangsmailserver habe ich bei Kilu.de konfiguriert, aber es kommt trotzdem nicht an
Jetzt meine Frage, ob ihr mal meinen Code überprüfen könnt, ob ich vielleicht ein Fehler drin hab!
Datei formular_check.php
PHP:
<?php
$nachname = $_POST['nachname'];
$vorname = $_POST['vorname'];
$responder_email = $_POST['email'];
$telefon = $_POST['telefon'];
$kommentar = $_POST['kommentar'];
$firma = $_POST['firma'];
$ort = $_POST['ort'];
$strasse = $_POST['strasse'];
$plz = $_POST['plz'];


$ip = $_SERVER['REMOTE_ADDR'];

$email_adresse = "bifur@web.de";

$betreff = "Kontakt";

//Entfernen von HTML Code
$nachname=strip_tags($nachname);
$vorname=strip_tags($vorname);
$responder_email=strip_tags($responder_email);
$kommentar=strip_tags($kommentar);

if (!empty($nachname) && !empty($vorname) && !empty($responder_email) && !empty($kommentar)) {

$email = '
Formular:

Nachname:   '.$nachname.'
Vorname:    '.$vorname.'
E-mail:     '.$email.'
Telefon:    '.$telefon.'
-------------------------------
Kommentar:  '.$kommentar.'
-------------------------------

Firma:      '.$firma.'
Ort:        '.$Ort.'
Strasse:    '.$strasse.'
PLZ:        '.$plz.'


IP:         '.$ip.'';


$responder_nachricht='
Ihre Anfrage wird bearbeitet!';


mail($email_adresse, $betreff, $email);
mail($responder_email, $betreff, $responder_nachricht);
echo '<b><center>Erfolgreich versendet! <a href="ahnen.kilu.de">Weiter</a></center></b';
}
else {
echo '<b><font color="red"><center>Sie haben leider nicht alle Felder ausgef&uuml;llt!!</center></font></b>';
}
?>

Die Kontaktdatei kontakt.php
HTML:
form action=".//include/formular_check.php" name="action" method="post">
<table border="0" width="100%">
<tr>
<td>Nachname:*</td>
<td><input type="text" size="30" name="nachname"></td>
</tr>
<tr>
<td>Vorname:*</td>
<td><input type="text" size="30" name="vorname"></td>
</tr>
<td>Email:*</td>
<td><input type="text" size="30" name="email"></td>
</tr>
<tr>
<td>Telefon:*</td>
<td><input type="text" size="30" name="telefon"></td>
<tr>
<td>Kommentar:*</td>
<td><textarea rows="10" cols="50" name="kommentar"></textarea></td>
</tr>
<tr>

<table><tr>
Um Ihnen eine qualifiziertere Antwort zu geben, wäre es nett, <br>die folgenden Eingaben bitte zu tätigen:<br>
</tr>
<tr>
<td>Firma:</td>
<td><input type="text" size="30" name="firma"></td>
<td>Ort:</td>
<td><input type="text" size="30" name="ort"></td>
</tr>
<tr>
<td>Straße:</td>
<td><input type="text" size="30" name="strasse"></td>
<td>PLZ:</td>
<td><input type="text" size="30" name="plz"></td>
</tr></table>

</tr>

<tr>
<td colspan="2">
<input type="submit" value="Abschicken" name="senden">&nbsp;<input type="reset" value="Zurücksetzen">
</td></tr>
<tr><td><font size="1">Die gekennzeichneten Felder (*) sind Pflichtfelder</font></td></tr></table></form>

Wäre super, wenn mir einer helfen könnte!

THX im voraus.
 
Das sagt garnichts aus, denn deine Meldung kommt immer, egal ob die Mail verschickt wurde oder nicht.
Tausche mal diesen Code:
PHP:
mail($email_adresse, $betreff, $email);
mail($responder_email, $betreff, $responder_nachricht);
echo '<b><center>Erfolgreich versendet! <a href="ahnen.kilu.de">Weiter</a></center></b';
Durch diesen:
PHP:
if( mail($email_adresse, $betreff, $email) )
{
    echo 'Mail 1: TRUE<br />';
}
else
{
    echo 'Mail 1: FALSE<br />';
}
if( mail($responder_email, $betreff, $responder_nachricht) )
{
    echo 'Mail 2: TRUE';
}
else
{
    echo 'Mail 2: FALSE';
}
Da muss dann zweimal TRUE auf dem Bildschirm erscheinen.
 
Habe den code mit deinem ersetzt und jetzt krieg ich nen syntax errror Line69 ist false.
Also genau die dort drunter, wo ich da drüber deinen code eingesetzt habe, wie du es gesagt hast.
 
Syntax Fehler ? :eek:

Dein Code sollte so aussehen:
PHP:
<?php
$nachname = $_POST['nachname'];
$vorname = $_POST['vorname'];
$responder_email = $_POST['email'];
$telefon = $_POST['telefon'];
$kommentar = $_POST['kommentar'];
$firma = $_POST['firma'];
$ort = $_POST['ort'];
$strasse = $_POST['strasse'];
$plz = $_POST['plz'];


$ip = $_SERVER['REMOTE_ADDR'];

$email_adresse = "bifur@web.de";

$betreff = "Kontakt";

//Entfernen von HTML Code
$nachname=strip_tags($nachname);
$vorname=strip_tags($vorname);
$responder_email=strip_tags($responder_email);
$kommentar=strip_tags($kommentar);

if (!empty($nachname) && !empty($vorname) && !empty($responder_email) && !empty($kommentar)) {

$email = '
Formular:

Nachname:   '.$nachname.'
Vorname:    '.$vorname.'
E-mail:     '.$email.'
Telefon:    '.$telefon.'
-------------------------------
Kommentar:  '.$kommentar.'
-------------------------------

Firma:      '.$firma.'
Ort:        '.$Ort.'
Strasse:    '.$strasse.'
PLZ:        '.$plz.'

IP:         '.$ip.'';

$responder_nachricht='Ihre Anfrage wird bearbeitet!';

    if( mail($email_adresse, $betreff, $email) )
    {
        echo 'Mail 1: TRUE<br />';
    }
    else
    {
        echo 'Mail 1: FALSE<br />';
    }
    if( mail($responder_email, $betreff, $responder_nachricht) )
    {
        echo 'Mail 2: TRUE';
    }
    else
    {
        echo 'Mail 2: FALSE';
    }
}
else{
echo '<b><font color="red"><center>Sie haben leider nicht alle Felder ausgef&uuml;llt!!</center></font></b>';
}
?>
Poste mal den ganzen Fehler bitte.
 
Hatte einen Fehler drin, hab deinen code verwendet und jetzt kommt zweimal true!
Habe aber gerade bei meinem Webspace anbieter gelesen, das die Mail() funktion in php deaktiviert wurde. Von daher kan ja die Mail auch nicht ankommen. Die beiden True heißen jetzt, das unter regulären bedingungen, die Mail versendet und auch ankommen würde
Denn bei dem jetzigen Anbieter, läuft alles nur noch über smtp. Werde aber die Seite auf einem anderen Anbieter setzen, so bald sie komplett fertig ist.

Danke erstmal schon für deine Hilfe!!:)
 
Zurück