Ergebnis 1 bis 2 von 2

Thema: Anfrageformular sendet manchmal nicht?

  1. #1
    Meister(in)
    Registriert seit
    27.04.2006
    Ort
    Wien
    Beiträge
    263
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Anfrageformular sendet manchmal nicht?

    Hallo liebe Forengemeinde!

    Ich verzweilfe langsam an einem recht interessanten Problem...
    Es geht um ein Anfrageformular mit php mail(), welches ab und zu nicht sendet!

    Woran kann so etwas liegen? Servertimeout beim Absenden (Benutzer haben Bestätigung bekommen, das gesendet wurde, im Posteingang kam aber nichts an) oder Fehler im Script? Habe das ganze mehrfach durchgekaut und finde den Fehler nicht (falls es einen gibt?). Ich hänge unten das Script mit an (Einmal das Formular und einmal das php Script), damit ihr euch ein Bild machen könnt.

    Vielen Dank schon im Vorraus für eure Hilfe! =)

    Erste Seite des Formulars, um den Anfragetyp herauszufinden (Privat/Firma/Schule)
    Code:
    <html>
      <head>
        <title>Anfrageformular</title>
          <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
          <META NAME="Copyright" CONTENT="Foto Schuster">
    <META NAME="Author" CONTENT="Foto Schuster">
    <META NAME="Subject" CONTENT="Fotograf Wien">
    <META NAME="Language" CONTENT="DE">
    <META NAME="Robots" CONTENT="index,follow">
    <style type="text/css">
    
    .mydiv {font-family: verdana; font-size: 12 px; color: #FFFFFF;}
    table {font-size:12px; color:white;}
    td {font-size:12px; color:white;}
    
    </style>
    <link rel="stylesheet" href=".././html/mystyle.css" type="text/css">
        <script type="text/javascript">
          function ausw (select) {
            var wert = select.options[select.options.selectedIndex].value;
            if (wert == "leer") {
              select.form.reset();
              return;
            } else {
              location.href = wert;
              select.form.reset();
            }
          } 
          
          function ausgrauen_mitarb () {
            if (document.anfrage.mitarb.checked == true) {
              var deaktiviert = false;
            } else {
              var deaktiviert = true;
            }
            for (var i = 0; i < document.anfrage.anz_pers_mitarb.length; i++) {
              document.anfrage.anz_pers_mitarb.disabled = deaktiviert;
            }
          } 
          
          function ausgrauen_gruppe () {
            if (document.anfrage.gruppe.checked == true) {
              var deaktiviert = false;
            } else {
              var deaktiviert = true;
            }
            for (var i = 0; i < document.anfrage.anz_pers_gruppe.length; i++) {
              document.anfrage.anz_pers_gruppe.disabled = deaktiviert;
            }
          }
          
          var sonst = 1;
          function clearTA() {             
            if (sonst == 1) {
              sonst--;
              this.document.anfrage.sonstiges.value="";
            }                 
          }
          
          function chkFormular () {
            if (document.anfrage.nachname.value == "") {
              alert("Bitte Ihren Nachnamen eingeben!");
              document.anfrage.nachname.focus();
              return false;
            }
      
         
            if (document.anfrage.email.value == "") {
              alert("Bitte Ihre E-Mail-Adresse eingeben!");
              document.anfrage.email.focus();
              return false;
            }
      
            if (document.anfrage.email.value.indexOf("@") == -1) {
              alert("Keine E-Mail-Adresse!");
              document.anfrage.email.focus();
              return false;
            }
            
            if (document.anfrage.email.value.indexOf(".") == -1) {
              alert("Keine E-Mail-Adresse!");
              document.anfrage.email.focus();
              return false;
            }       
    
          }
          
        </script>
      </head>
      <body bgcolor="#565758">
      <div class="mydiv" style="color:#FFFFFF; font-size:12px;">
        <form name="anfrage" action="senden.php" method="POST" onsubmit="return chkFormular()">
          <?php
            error_reporting(E_ALL);
            ini_set('display_errors', 1);
    
            $section = array();
            $section['firma']         = 'firma.php';
            $section['privat']        = 'privat.php';
            $section['kg_schule']     = 'kg_schule.php';
          ?>
          <fieldset>
            <legend>Bitte Anfragetyp auswählen</legend>
              <table>
                <tr>
                  <td>                
                    <select name="kundentyp" size="1" onchange="ausw(this);">
                      <option name="leer" value="leer" selected="selected">Bitte auswählen!</option>
                      <option name="Firma" value="index.php?section=firma">Anfrage für Firmen</option>
                      <option name="Privatperson" value="index.php?section=privat">Anfrage für Privatpersonen</option>
                      <option name="Kindergarten-Schule" value="index.php?section=kg_schule">Anfrage für Kindergarten und Schulen</option>
                    </select>                               
                  </td>
                </tr>
              </table>
          </fieldset>
          <?php
            if (isset($_GET['section'], $section[$_GET['section']])) {
              include $section[$_GET['section']];
            }
          ?>
        </form>
      </div>
      <body>
    </html>
    Hier als Beispiel der Formularteil für Firmen (die anderen funktionieren analog mit anderen Feldern), er wird per DropDown Menü in die index.php?section geladen (php Frames wenn man so sagen möchte)
    Code:
        
      <fieldset>
            <legend>Gewünschte Informationen</legend>
              <table>
                 <tr>
                  <td>                
                    <input type="checkbox" name="info[]" value="Presseportraits"> Presseportraits (auf Wunsch mit speziellen Hintergrund)
                  </td>
                 </tr>          
                 <tr>
                  <td>                
                    <input type="checkbox" name="info[]" value="Reportagen"> Reportagen (Events, Firmenfeiern, Geschäftseröffnungen, etc.)
                  </td>
                 </tr>
               </table>
               <table>
                 <tr>
                  <td>
                    <input type="checkbox" name="mitarb" value="mitarbeiteraufnahmen" onclick="ausgrauen_mitarb();"> Mitarbeiteraufnahmen 
                  </td>
                  <td>
                    <select name="anz_pers_mitarb" size="1" disabled>
                      <option value="einer nicht angegebenen Anzahl an">Bitte auswählen</option>
                      <option value="0-10">0-10 Personen</option>
                      <option value="10-20">10-20 Personen</option>
                      <option value="20-30">20-30 Personen</option>
                      <option value="30-40">30-40 Personen</option>
                      <option value="40-50">40-50 Personen</option>
                      <option value="50-100">50-100 Personen</option>
                      <option value="100-150">100-150 Personen</option>
                      <option value="150-200">150-200 Personen</option>
                      <option value="200-250">200-250 Personen</option>
                      <option value="250-300">250-300 Personen</option>
                      <option value="300-350">300-350 Personen</option>
                      <option value="350-400">350-400 Personen</option>
                      <option value="400-450">400-450 Personen</option>
                      <option value="450-500">450-500 Personen</option>
                      <option value="500-550">500-550 Personen</option>
                      <option value="550-600">550-600 Personen</option>
                      <option value="600-650">600-650 Personen</option>
                      <option value="650-700">650-700 Personen</option>
                      <option value="700-750">700-750 Personen</option>
                      <option value="750-800">750-800 Personen</option>
                      <option value="800+">mehr als 800 Personen</option>
                    </select>
                  </td>
                 </tr>
                  <td>
                    <input type="checkbox" name="gruppe" value="gruppe" onclick="ausgrauen_gruppe();"> Großgruppenprojekte
                  </td>
                  <td> 
                    <select name="anz_pers_gruppe" size="1" disabled>
                      <option value="einer nicht angegebenen Anzahl an">Bitte auswählen</option>
                      <option value="0-10">0-10 Personen</option>
                      <option value="10-20">10-20 Personen</option>
                      <option value="20-30">20-30 Personen</option>
                      <option value="30-40">30-40 Personen</option>
                      <option value="40-50">40-50 Personen</option>
                      <option value="50-100">50-100 Personen</option>
                      <option value="50-100">50-100 Personen</option>
                      <option value="100-150">100-150 Personen</option>
                      <option value="150-200">150-200 Personen</option>
                      <option value="200-250">200-250 Personen</option>
                      <option value="250-300">250-300 Personen</option>
                      <option value="300-350">300-350 Personen</option>
                      <option value="350-400">350-400 Personen</option>
                      <option value="400-450">400-450 Personen</option>
                      <option value="450-500">450-500 Personen</option>
                      <option value="500-550">500-550 Personen</option>
                      <option value="550-600">550-600 Personen</option>
                      <option value="600-650">600-650 Personen</option>
                      <option value="650-700">650-700 Personen</option>
                      <option value="700-750">700-750 Personen</option>
                      <option value="750-800">750-1000 Personen</option>
                      <option value="1000+">mehr als 1000 Personen</option>
                    </select>                                              
                  </td>
                </tr>            
              </table>
          </fieldset> 
          <fieldset>
            <legend>Ausgabemedium</legend>
              <table>
                <tr>
                  <td><input type="checkbox" name="ausgabe[]" value="96dpi"> 96dpi 13/18cm digital (Für Homepage, Internet, E-Mail)</td>
                </tr>
                <tr>
                  <td><input type="checkbox" name="ausgabe[]" value="300dpi"> 300dpi 13/18cm digital (Druckvorlage bzw. zum Ausbelichten)</td>
                </tr> 
                <tr>
                  <td><input type="checkbox" name="ausgabe[]" value="Papierfotos"> Papierfotos (bis 20lfm am Stück, Höhe max. 1.20m)</td>
                </tr>                       
              </table>
          </fieldset>
          <fieldset>
            <legend>Ihr Anliegen (optional):</legend>
              <table>
                <tr>
                  <td><textarea onfocus="javascript:clearTA()" name="sonstiges" rows="10" cols="50">Sonstige Informationen bitte hier eingeben.</textarea></td>
                </tr>
              </table>
          </fieldset>
          <fieldset>
            <legend>Anfragetyp: <b>Firma</b></legend>
              <table>
                <tr>
                  <td> 
                    <input type="hidden" name="anfragetyp" value="Firma">
                    Anrede und Titel:
                  </td>
                  <td>
                    <input type="text" size="40" maxlength="40" name="anrede">
                  </td>
                </tr>          
                <tr>
                  <td>                
                    Vorname:
                  </td>
                  <td>
                    <input type="text" size="40" maxlength="40" name="vorname">
                  </td>
                </tr>
                <tr>
                  <td>                
                    Nachname*:
                  </td>
                  <td>
                    <input type="text" size="40" maxlength="40" name="nachname">
                  </td>
                </tr>
                <tr>
                  <td>                
                    Firma:
                  </td>
                  <td>
                    <input type="text" size="40" maxlength="40" name="firma">
                  </td>
                </tr>
                <tr>
                  <td>                
                    Adresse:
                  </td>
                  <td>
                    <input type="text" size="40" maxlength="40" name="adresse">
                  </td>
                </tr>
                <tr>
                  <td>                
                    PLZ, Ort:
                  </td>
                  <td>
                    <input type="text" size="40" maxlength="40" name="plz">
                  </td>
                </tr>              
                <tr>
                  <td>                
                    Telefonnummer:
                  </td>
                  <td>
                    <input type="text" size="40" maxlength="40" name="telefon">
                  </td>
                </tr>
                <tr>
                  <td>                
                    E-Mail*:
                  </td>
                  <td>
                    <input type="text" size="40" maxlength="40" name="email">
                  </td>
                </tr>
                <tr>
                  <td>
                    <font size="2">*Pflichtfelder</font>
                  </td>
                </tr>
                <tr>
                  <td>&nbsp;</td>
                </tr>
                <tr>
                  <td><button style="font-size:14px; margin-top:2px;" type="submit">Anfrage absenden</button></td>
                </tr>
              </table>          
          </fieldset>
    Und zu guter letzter, der php Teil - hier vermute ich den Fehler, ich kann ihn nur leider nicht finden!
    Code:
    <html>
    <head>
    <title>Anfrage versendet</title>
    <link rel="stylesheet" href=".././html/mystyle.css" type="text/css">
    <style type="text/css">
    
    .mydiv {font-family: verdana; font-size: 12 px; color: #FFFFFF;}
    table {font-size:12px; color:white;}
    td {font-size:12px; color:white;}
    
    </style>
    </head>
    <body  bgcolor="#565758">
    <div class="mydiv" style="color:#FFFFFF; font-size:12px;">
    <?php
    
    if (!isset($_POST["anfragetyp"])) {
      echo ("Fehler bei der Übermittlung des Formulars. Bitte gehen Sie zurück <a href='http://www.fotoschuster.at/anfrage/index.php'>zum Formular</a> und senden Sie es erneut.");
      die();
    } else {
    
      $typ      = $_POST["anfragetyp"];
      $anrede   = $_POST["anrede"];
      $vorname  = $_POST["vorname"];
      $nachname = $_POST["nachname"];
      $firma    = $_POST["firma"];
      $adresse  = $_POST["adresse"];
      $plz      = $_POST["plz"];
      $telefon  = $_POST["telefon"];
      $email    = $_POST["email"];
      
      $from  = "From: ".$nachname." ".$vorname." <".$email.">\n";
      $from .= "Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable\n";
      
      if ($typ=="Firma") { 
          $interesse = implode(", ", $_POST["info"]);
          
          if (isset($_POST["mitarb"])) {
            $mitarbeiterfoto = "Mitarbeiterfotos von ".$_POST['anz_pers_mitarb']." Mitarbeitern.\n";        
          } else {
            $mitarbeiterfoto = "";
          }
          
          if (isset($_POST["gruppe"])) {
            $gruppenfoto = "Ein Gruppenfoto von ".$_POST['anz_pers_gruppe']." Personen\n";        
          } else {
            $gruppenfoto = "";
          }
          
          $ausg = implode(", ", $_POST["ausgabe"]);
                
          $mail = "               Anfragetyp: ".$typ."\n
          
                   Von: ".$anrede." ".$nachname." ".$vorname."\n
                   ".$firma."
                   ".$adresse."
                   ".$plz."\n
                   ".$telefon."
                   ".$email."\n
                   
                   Kunde interessiert sich für: 
                   ".$interesse."
                   ".$gruppenfoto."
                   ".$mitarbeiterfoto."\n  
                                
                   Interesse an folgenden Ausgabemedien: ".$ausg."\n
                   Sonstige Informationen:
                   ".$_POST['sonstiges']."\n";
                   
           mail("test@test.at","Anfrage für Firma ".$firma." von ".$nachname." ".$vorname,$mail,$from);   
      }
    
      elseif ($typ=="Privatperson") {
          $interesse = implode(", ", $_POST["info"]);     
          $ausg = implode(", ", $_POST["ausgabe"]);
          
          if (isset($_POST["gruppe"])) {
            $gruppenfoto = "Ein Gruppenfoto von ".$_POST['anz_pers_gruppe']." Personen\n";        
          } else {
            $gruppenfoto = "";
          }   
          
          if (isset($_POST["gutschein"])) {
            $gutscheine = "Der Kunde benötigt Informationen zu Gutscheinen/benötigt Gutscheine\n";        
          } else {
            $gutscheine = "";
          }         
                
          $mail = "               Anfragetyp: ".$typ."\n
          
                   Von: ".$anrede." ".$nachname." ".$vorname."\n
                   ".$firma."
                   ".$adresse."
                   ".$plz."\n
                   ".$telefon."
                   ".$email."\n
                   
                   Kunde interessiert sich für: 
                   ".$interesse."\n
                   ".$gruppenfoto."\n
                   
                   ".$gutscheine."\n
                                               
                   Interesse an folgenden Ausgabemedien: 
                   ".$ausg."\n
                   Sonstige Informationen:
                   ".$_POST['sonstiges']."\n";
                   
           mail("test@test.at","Anfrage für Privatperson von ".$nachname." ".$vorname,$mail,$from);   
      }
    
      elseif ($typ=="Kindergarten-Schule") {
          $interesse = implode(", ", $_POST["info"]);     
          $ausg = implode(", ", $_POST["ausgabe"]);
                
          $mail = "               Anfragetyp: ".$typ."\n
          
                   Von: ".$anrede." ".$nachname." ".$vorname."\n
                   ".$firma."
                   ".$adresse."
                   ".$plz."\n
                   ".$telefon."
                   ".$email."\n
                   Anzahl der Gruppen: ".$_POST['anz_gruppen']."
                   Anzahl der Kinder pro Gruppe (ca.): ".$_POST['anz_kinder']."
                   Kunde interessiert sich für: 
                   ".$interesse."\n
                   
                   Wunschfototermin liegt zwischen:
                   ".$_POST['termin_beginn']." und ".$_POST['termin_ende']." 
                   Wunsch-Wochentag ist ".$_POST['wochentag']."\n                           
                   Benötigt Informationen bezüglich:  
                   ".$ausg."\n
                   Sonstige Informationen:
                   ".$_POST['sonstiges']."\n";
                   
           mail("test@test.at","Anfrage für Kindergarten/schule ".$firma." von ".$nachname." ".$vorname,$mail,$from); 
      }
    
      else {
        echo ("<p align='center'>Ein Fehler ist aufgetreten. Bitte gehen Sie zurück <a href='http://www.fotoschuster.at/anfrage/index.php'>zum Formular</a> und senden Sie es erneut.</p>");
      }
      
      echo ("<h1 align='center'>Vielen Dank für Ihre Anfrage!</h1><p align='center'>Wir werden sobald wie möglich Kontakt zu Ihnen aufnehmen.<br><a href='javascript:self.close()'>Fenster schließen</a></p>");
    }
    ?>
    </div>
    </body>
    </html>

    Nochmal lieben dank!

    lg
    Stefan
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Unregistriert
    Gast

    Standard AW: Anfrageformular sendet manchmal nicht?

    Tausche den Aufruf von mail() gegen eine fertige Klasse w.z.B. den phpMailer aus.

Ähnliche Themen

  1. Maus reagiert manchmal nicht
    Von Kralle im Forum Off Topic und Quasselbox
    Antworten: 5
    Letzter Beitrag: 28.11.2008, 17:58
  2. Anfrageformular funktioniert nicht richtig
    Von Buxbaum im Forum HTML & CSS Forum
    Antworten: 9
    Letzter Beitrag: 19.06.2006, 22:12
  3. Anfrageformular geht in I Explorer nicht!!
    Von MinarMandl im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 4
    Letzter Beitrag: 15.12.2005, 21:38
  4. Anfrageformular
    Von MinarMandl im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 0
    Letzter Beitrag: 15.12.2005, 20:29
  5. Bild wird per JS geladen aber manchmal im IE nicht angezeigt
    Von mikune im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 3
    Letzter Beitrag: 30.11.2005, 11:48

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •