Formular auch bei Safari bzw. bei Mac

namiro

Mitglied
Hallo ihr,

ich hatte schon mal eine Kontaktformular gebastelt,
aber die zeigt fehlermeldung "Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese Seite." , wenn man sie bei safari verschickt.

Bie firefox und bei IE funktioniert gut.

Könnt ihr mal guten Rat geben?

HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-kr">
<title></title>
</head>

<body>
<div id="inhalt">
  <div id="headline">
    <div class="title">Kontakt</div>
  <br />
    Kontaktformular</div>
  <em>Bitte füllen Sie alle mit <span class="rot">*</span> gekennzeichneten Felder aus. </em><br />
        <br />
        <form action="kontaktformular-auswerten.php" method="post" enctype="Text/html" id="mail" name="mail" >
          <table width="500" border="0" cellpadding="2" cellspacing="4" class="rahmen">
            <tr>
              <td width="87" align="right">&nbsp; Anrede: </td>
              <td width="393"><select name="Anrede" size="1" id="Anrede" tabindex="1" style="width:187px;">
                  <option value="Frau" selected="selected">Frau</option>
                  <option value="Herr">Herr</option>
              </select></td>
            </tr>
            <tr>
              <td align="right">&nbsp; Titel:</td>
              <td><input name="Titel"  type="text" id="name" size="20" style="width:187px;" /></td>
            </tr>
            <tr>
              <td align="right"><span class="rot">*</span>Name:</td>
              <td><input name="Name"  type="text" id="name2" size="20" style="width:187px;" /></td>
            </tr>
            <tr>
              <td align="right"><span class="rot">*</span>Vorname:</td>
              <td><input name="Vorname"  type="text" id="name1" size="20" style="width:187px;" /></td>
            </tr>
            <tr>
              <td align="right">&nbsp; Firma:</td>
              <td><input name="Firma"  type="text" id="Firma" size="20" style="width:187px;" /></td>
            </tr>
            <tr>
              <td align="right">&nbsp; Strasse:</td>
              <td><input name="Strasse" type="text" id="Strasse" size="20" style="width:187px;" /></td>
            </tr>
            <tr>
              <td align="right">&nbsp; PLZ/Ort:</td>
              <td><input name="PLZ" type="text" id="plz2" size="10" style="width:70px;" />
                  <input name="Ort" type="text" id="Ort" size="20" style="width:111px;" /></td>
            </tr>
            <tr>
              <td align="right">&nbsp; Telefon:</td>
              <td><input name="Telefon" type="text" id="Telefon" size="20" style="width:187px;" /></td>
            </tr>
            <tr>
              <td align="right"> &nbsp; Fax:</td>
              <td><input name="Fax" type="text" id="Fax" size="20" style="width:187px;" /></td>
            </tr>
            <tr>
              <td align="right"><span class="rot">*</span>E-Mail:</td>
              <td><input name="E-Mail" type="text" id="E-Mail" size="20" style="width:187px;" /></td>
            </tr>
            <tr>
              <td align="right" valign="top">&nbsp; Nachricht:</td>
              <td><textarea name="Nachricht" cols="60" rows="15" id="Nachricht"></textarea></td>
            </tr>
            <tr>
              <td valign="top">&nbsp;</td>
              <td>
                <input name="Bestellung1" type="checkbox" id="order" value="Bitte senden Sie mir Informationsmaterial zu." class="chek"/>
&nbsp;Bitte senden Sie mir Informationsmaterial zu.<br />
          <input name="Bestellung2" type="checkbox" id="order" value="Bitte nehmen Sie zu mir Kontakt auf." class="chek"/>
&nbsp;Bitte nehmen Sie zu mir Kontakt auf.</td>
            </tr>
            <tr>
              <td align="center" colspan="3"> <img src="http://www.tutorials.de/forum/images/dot_blank.gif" width="5" height="6" /> <br />
                  <input name="Send" type="submit" value="Abschicken" class="button" />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
          <input name="Reset" type="reset" value="Löschen" class="button" /></td>
            </tr>
          </table>
        </form>
        <p>&nbsp;</p>
        <div class="oben2"><a href="#oben">oben</a></div>
        <p>&nbsp;</p>
</div>
</body>
</html>

kontaktformular-auswerten.php

PHP:
<div id="inhalt">
      <div id="headline"> 
<div class="title">Kontakt</div>&nbsp;
    <br />
  </div>
      <?php

$Empfaenger = "meineemail@email.com";

if($_REQUEST['Send'])
{
   if(empty($_REQUEST['Name']))
   {
      echo"Geben Sie bitte Ihren Namen an. <p><a href=\"javascript:history.back();\">zur&uuml;ck</a></p>";
   }
      else if(empty($_REQUEST['Vorname']))
   {
      echo"Geben Sie bitte Ihren Vornamen an. <p><a href=\"javascript:history.back();\">zur&uuml;ck</a></p>";
   }
   else if(empty($_REQUEST['E-Mail']))
   {
      echo"Geben Sie bitte Ihre E-Mail an. <p><a href=\"javascript:history.back();\">zur&uuml;ck</a></p>";
   }
   else if(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$",$_REQUEST['E-Mail']))
   {
    echo"Geben Sie bitte eine gültige E-Mail-Adresse an. <p><a href=\"javascript:history.back();\">zur&uuml;ck</a></p>";
   }
   /* Telefonnummer prüfen
      else if(!is_numeric ($_POST['Telefon']))
   {
    echo"Geben Sie bitte eine gültige Telefonnummer an. <p><a href=\"javascript:history.back();\">zur&uuml;ck</a></p>";
   }
   */
   else
   {
      $Mailnachricht = "Sie haben folgende Nachricht erhalten: \n\n";
      while(list($Formularfeld, $Wert)=each($_REQUEST))
      {
         if($Formularfeld!="Send")
         {
            $Mailnachricht .= $Formularfeld.": ".$Wert."\n";
         }
      }
      $Mailnachricht .= "\nDatum/Zeit: ";
      $Mailnachricht .= date("d.m.Y H:i:s");
      $Mailbetreff = "Kontaktformular";
      $Mailbetreff .= $_REQUEST['Betreff'];
      mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['E-Mail']);
      echo"Vielen Dank für Ihre E-Mail!<br><br>";
      echo'<a href=kontakt_formular.html>zur&uuml;ck</a>';
   }
}
else
{
   echo"Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese <a href=\"kontakt_formular.html
   \">Seite</a>.";
}

?>

      <p>&nbsp;</p>
	  
	  <p><br />
      </p>
      </div>

Hätte eigentlich die Fehlermeldungen auf gleichen Seite, also auf der Seite, wo das Formular steht, aber habe gehört, es ist sicherheitshalber nicht gut.

:confused:
 
Zuletzt bearbeitet:
Hi Maik,

soooo einfach!!
Bin so happy!
Ich danke dir vielmals!

Und nun noch eine Frage.
Ich weiß aber nicht, ob man es einfach so fragen kann.

Diesesmal muss ich noch im Formaular eine automatisches Antwortsmail einbauen.

Wie kann man anfangen?

Oder gibt es guten Programm für Formaularsenden?
 
Hi,

was meinst Du genau mit automatischer Antwortmail? Wenn Du eine zusätzliche Mail an den User, der das Kontaktformular ausgefüllt hat, senden willst, dann mach genau das. Die Email hast Du ja und wie Du eine Mail über PHP verschicken kannst, weißt Du auch. ;)

LG
 
Hallo kuddeldaddeldu,

ich danke dir für die schöne Erklärung. Das war gar nicht schlimm.
Ich hab´s probiert, es funktioniert echt gut.
Danke.

Nun habe ich noch versucht, die Fehlermeldungen auf der gleichen Seite erscheinen zu lassen.
Habe einfach mti action="<?php echo $_SERVER['PHP_SELF']; ?> probiert, es scheint auch gut funktionieren.
Aber meine Fehlermeldungen kommt immer nach dem einem.
Wie könnte man die alle betroffene Fehlermeldungen gleichzeitig erscheinen lassen?

PHP:
<div id="inhalt">
      <div id="headline"> 
<div class="title">Kontakt</div>&nbsp;
    <br />
        Kontaktformular</div>
      <em>Bitte füllen Sie alle mit <span class="rot">*</span> gekennzeichneten Felder 
      aus. </em><br />
      <br />
	   <?php
$Empfaenger = "beispiel@land.de";

if($_REQUEST['Send'])
{
   if(empty($_REQUEST['Name']))
   {
      echo"Geben Sie bitte Ihren Namen an. ";
   }
      else if(empty($_REQUEST['Vorname']))
   {
      echo"Geben Sie bitte Ihren Vornamen an. ";
   }
   else if(empty($_REQUEST['E-Mail']))
   {
      echo"Geben Sie bitte Ihre E-Mail an. ";
   }
   else if(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$",$_REQUEST['E-Mail']))
   {
    echo"Geben Sie bitte eine gültige E-Mail-Adresse an. ";
   }
   /* Telefonnummer prüfen
      else if(!is_numeric ($_POST['Telefon']))
   {
    echo"Geben Sie bitte eine gültige Telefonnummer an. <p><a href=\"javascript:history.back();\">zur&uuml;ck</a></p>";
   }
   */
	     else
   {
      $Mailnachricht = "Sie haben folgende Nachricht erhalten: \n\n";
      while(list($Formularfeld, $Wert)=each($_REQUEST))
      {
         if($Formularfeld!="Send")
         {
            $Mailnachricht .= $Formularfeld.": ".$Wert."\n";
         }
      }
      $Mailnachricht .= "\nDatum/Zeit: ";
      $Mailnachricht .= date("d.m.Y H:i:s");
      $Mailbetreff = "beispielland";
      $Mailbetreff .= $_REQUEST['Betreff'];
	  $to = $_REQUEST['E-Mail'];
	  $subject = 'Vielen Dank für Ihre E-Mail!';
      $message = 'hello, Vielen Dank für Ihre E-Mail!';
	  $headers = 'From: webmaster@example.com';
      mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['E-Mail']);
      mail($to, $subject, $message, $headers);

      echo"Vielen Dank für Ihre E-Mail!<br><br>";
     
   }
}

?>
      <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" id="mail" name="mail" >
        <table width="500" border="0" cellpadding="2" cellspacing="4" class="rahmen">
          <tr> 
            <td width="87" align="right">&nbsp; Anrede: </td>
            <td width="393"><select name="Anrede" size="1" id="Anrede" tabindex="1" style="width:187px;">
<option value="Frau" selected="selected">Frau</option>
              <option value="Herr">Herr</option>
            </select></td>
          </tr>
          <tr> 
            <td align="right">&nbsp; Titel:</td>
            <td><input name="Titel"  type="text" id="name" size="20" style="width:187px;" /></td>
          </tr>
          <tr> 
            <td align="right"><span class="rot">*</span>Name:</td>
            <td><input name="Name"  type="text" id="name2" size="20" style="width:187px;" value="<?php echo $_REQUEST['Name'] ?>"/></td>
          </tr>
		  <tr> 
            <td align="right"><span class="rot">*</span>Vorname:</td>
            <td><input name="Vorname"  type="text" id="name1" size="20" style="width:187px;" value="<?php echo $_REQUEST['Vorname'] ?>" /></td>
          </tr>
          <tr> 
            <td align="right">&nbsp; Firma:</td>
            <td><input name="Firma"  type="text" id="Firma" size="20" style="width:187px;" /></td>
          </tr>
          <tr> 
            <td align="right">&nbsp; Strasse:</td>
            <td><input name="Strasse" type="text" id="Strasse" size="20" style="width:187px;" /></td>
          </tr>
          <tr> 
            <td align="right">&nbsp; PLZ/Ort:</td>
            <td><input name="PLZ" type="text" id="plz2" size="10" style="width:70px;" /> 
              <input name="Ort" type="text" id="Ort" size="20" style="width:111px;" /></td>
          </tr>
          <tr> 
            <td align="right">&nbsp; Telefon:</td>
            <td><input name="Telefon" type="text" id="Telefon" size="20" style="width:187px;" /></td>
          </tr>
          <tr> 
            <td align="right"> &nbsp; Fax:</td>
            <td><input name="Fax" type="text" id="Fax" size="20" style="width:187px;" /></td>
          </tr>
          <tr> 
            <td align="right"><span class="rot">*</span>E-Mail:</td>
            <td><input name="E-Mail" type="text" id="E-Mail" size="20" style="width:187px;" value="<?php echo $_REQUEST['E-Mail'] ?>" /></td>
          </tr>
          <tr> 
            <td align="right" valign="top">&nbsp; Nachricht:</td>
            <td><textarea name="Nachricht" cols="60" rows="15" id="Nachricht" value="<?php echo $_REQUEST['Nachricht'] ?>"></textarea></td>
          </tr>
          <tr> 
            <td valign="top">&nbsp;</td>
            <td> <input name="Bestellung1" type="checkbox" id="order" value="Bitte senden Sie mir Informationsmaterial zu." class="chek"/>
              &nbsp;Bitte senden Sie mir Informationsmaterial zu.<br /> 
              <input name="Bestellung2" type="checkbox" id="order" value="Bitte nehmen Sie zu mir Kontakt auf." class="chek"/>
              &nbsp;Bitte nehmen Sie zu mir Kontakt auf.</td>
          </tr>
          <tr> 
            <td align="center" colspan="3"> <img src="http://www.tutorials.de/forum/images/dot_blank.gif" width="5" height="6" /> <br />
<input name="Send" type="submit" value="Abschicken" class="button" /> 
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input name="Reset" type="reset" value="Löschen" class="button" /></td>
          </tr>
        </table>
      </form>

      <p>&nbsp;</p>
	  
        <div class="oben2"><a href="#oben">oben</a></div>      <p>&nbsp;</p>
    </div>

Kannst du mir weiter helfen?
 
Zuletzt bearbeitet:
Hi,

das liegt an Deiner if-elseif-elseif-...-Konstruktion. Stattdessen könntest Du Dir eine Variable initialisieren und in einfachen if-Blöcken die Fehlermeldungen darin sammeln. Danach prüfst Du einfach, ob diese Variable leer ist. Wenn nicht, gibst Du den Inhalt (alle Fehlermeldungen) aus, sonst verschickst Du Deine Mails.

LG
 
Zurück