Formular sendet aber kommt nicht an

zyclop

Erfahrenes Mitglied
Ich habe folgendes Formular. Es sendet zwar die Daten, aber es kommt nicht an. Könnt Ihr einmal das Formular ansehen?

PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
  <title>Kontaktformular</title>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 </head>
<body>

<div style="text-align: middle;">
 <h3>Kontaktformular</h3>

<?php
// Kontaktformular 1 - Homepage-Total.de

if ($_SERVER['REQUEST_METHOD'] == "POST") {
$vorname = $_POST['vorname'];
$nachname = $_POST['nachname'];
$betreff = $_POST['betreff'];
$nachricht = $_POST['nachricht'];
$email = $_POST['email'];

 # Ihre E-Mail-Adresse
 $an ="info@next-it.ch";

 # Diese Nachricht wird an Ihre E-Mail-Adresse gesendet
 $text = "Hallo,\n Sie haben eine neue Nachricht von $vorname $nachname erhalten:\n\n
 ====\n $nachricht\n====\n\nSie können $vorname $nachname unter dieser $email erreichen.";
 @mail($an, $betreff, $text, "From: " . $email);
 echo "<b>Ihre Nachricht wurde gesendet!</b>";
}
else { ?>

<script type="text/javascript">
function eingaben_ueberpruefen(){
 var mail = document.Formular.email.value;
 if (document.Formular.vorname.value.length < 3) { // Vorname mindestens 2 Zeichen
  alert("Sie haben noch keinen Vornamen eingegeben!")
  document.Formular.vorname.focus();
  return false;
 }

 else if (document.Formular.nachname.value.length < 3) { // Nachname mindestens 2 Zeichen
  alert("Bitte geben Sie Ihren Nachnamen ein");
  document.Formular.nachname.focus();
  return false;
 }

 else if (mail.length < 10 || mail.indexOf ('@',0) == -1 || mail.indexOf ('.',0) == -1) {
  alert("Bitte geben Sie eine gültige E-Mail-Adresse ein.")
  document.Formular.email.select();
  return false;
 }

 else if (document.Formular.betreff.value.length < 5) { // Betreff mindestens 9 Zeichen
  alert("Bitte geben Sie einen Betreff ein! (5 Zeichen!!)")
  document.Formular.betreff.focus();
  return false;
 }

 else if (document.Formular.nachricht.value.length < 20) { // Nachricht mindestens 19 Zeichen
  alert("Bitte geben Sie eine Nachricht ein!")
  document.Formular.nachricht.focus();
  return false;
 }

 else
 return true;
}
</script>

<form name="Formular" method="post" action="<?php echo $_SERVER['SCRIPT_NAME']; ?>"
 onSubmit="return eingaben_ueberpruefen();">
 <table cellPadding="4" cellSpacing="2" border="1">
  <tr>
   <td><b>Vorname:</b></td>
   <td><input type="text" name="vorname" size="35" maxlength="40"></td>
  </tr>
  <tr>
   <td><b>Nachname:</b></td>
   <td><input type="text" name="nachname" size="35" maxlength="40"></td>
  </tr>
  <tr>
   <td><b>E-Mail:</b></td>
   <td><input type="text" name="email" size="35" maxlength="40"></td>
  </tr>
  <tr>
   <td><b>Betreff:</b></td>
   <td><input type="text" name="betreff" size="45" maxlength="60"></td>
  </tr>
  <tr>
   <td colspan="2">
    <b>Nachricht:</b><br><textarea name="nachricht" cols="45" rows="10"></textarea>
   </td>
  </tr>
  <tr>
   <th colspan="2"><br>
    <input type="submit" value="Formular absenden">
   </th>
  </tr>
 </table>
</form>

<?php 
}
?>
</div>

</body>
</html>
 
Hi,

du mußt da ein anderes Problem haben, das Script funktioniert einwandfrei. Hab es auf unserem Server getestet.
Stimmt die Email Adresse oder sind die Mails evtl. im Spam Ordner gelandet?
 
Gehört eigentlich ins PHP Forum aber was solls.

PHP:
@mail($an, $betreff, $text, "From: " . $email);

versuchs mal ohne @

http://php.net/manual/de/function.mail.php

Und wenn ich noch was anmerken dürfte
1.
PHP:
Hallo,\n Sie haben eine neue Nachricht von $vorname $nachname erhalten:\n\n
 ====\n $nachricht\n====\n\nSie können $vorname $nachname unter dieser $email erreichen.
Vor $email fehlt das Wort email sonst ergibt der Satz am Ende keinen Sinn ;)
2.
PHP:
echo "<b>Ihre Nachricht wurde gesendet!</b>";
Wird bei dir grade in jedem Fall angezeigt egal ob die Nachricht gesendet wurde oder nicht.
PHP:
$sent = mail($to, $subject, $message, $header) ; 
if($sent) 
{print "Your mail was sent successfully"; }
else 
{print "We encountered an error sending your mail"; }
Würde mehr Sinn machen


Und noch ein Tipp
Javascript gehört, soweit möglich ans Ende (vor das </body> tag)
 
Hallo, ich habe jetzt alles versucht...läuft aber trotzdem nicht...kann ich dir die zugangsdaten geben und du schaust dir das ganze mal an?

bEsten dank

zyclop
 
Zurück