Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 23

Thema: Kontaktformular - wo ist der Fehler?

  1. #1
    Kaiser(in)
    Registriert seit
    16.03.2005
    Beiträge
    2.315
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Frage Kontaktformular - wo ist der Fehler?

    Auf den ersten Blick sieht alles ganz gut aus, allerdings erhalte ich meine Testmails nicht. Hat jemand eine Idee, wo der Fehler ist?
    Code:
    <script language=JavaScript>
    <!--
     function isValid() { 
    
       var msg = "";
       
       if (kontaktFormular.eMail.value.indexOf("@") < 1 ||
           kontaktFormular.eMail.value.indexOf(".") < 1) {
         msg += "- Die E-Mail-Adresse ist syntaktisch nicht korrekt.\n";
       }
       
       if(kontaktFormular.vorName.value == "") {
         msg += "- Leeres Feld: Vorname:\n";
       }
    
       if(kontaktFormular.nachName.value == "") {
         msg += "- Leeres Feld: Nachname:\n";
       }
    
       if(kontaktFormular.nachricht.value == "") {
         msg += "- Leeres Feld: Nachricht:\n";
       }
       
       if(msg == "") {
         return true;   
       }
       alert(msg);
       return false;
     }
    -->
    </script>
    <?php
      
      $formularAnzeigen = false;
      if (!empty($_POST["senden"]) && (
          empty($_POST["vorName"]) ||
          empty($_POST["nachName"]) ||
          empty($_POST["eMail"]) ||
          empty($_POST["nachricht"]))) {
        $formularAnzeigen = true;
        echo 'Bitte alle Felder ausfüllen';
      } else if (!empty($_POST["senden"]) &&
                 !isEmail($_POST["eMail"])) {
        $formularAnzeigen = true;  
        echo 'Die E-Mail-Adresse ist nicht korrekt.';
      } else if (empty($_POST["senden"])) {
        $formularAnzeigen = true;  
      }
      if ($formularAnzeigen) {
    ?>
    <form name="kontaktFormular" method="post" action="<?=$_SERVER[PHP_SELF]; ?>" onSubmit="return isValid()">
      <table width="350px" border="0" cellpadding="0" cellspacing="0">
    <!--anfang vorname-->  
        <tr>
          <td><strong>
            Vorname:
          </strong></td>
          <td>
          <input name="vorName" type="text" value="<?=$_POST['vorName']; ?>" /></td>   
        </tr>
    <!--ende vorname-->
    <!--anfang nachname-->    
        <tr>
          <td><strong>
            Nachname:
          </strong></td>
          <td><input name="nachName" type="text" value="<?=$_POST['nachName']; ?>" /></td>       
        </tr>
    <!--ende nachname-->
    <!--anfang email-->        
        <tr>
          <td><strong>
            E-Mail:
          </strong></td>
          <td><input name="eMail" type="text" id="eMail" value="<?=$_POST['eMail']; ?>" /></td>      
        </tr>
    <!--ende email-->
    <!--anfang nachricht-->      
        <tr>
          <td><strong>
            Nachricht:
          </strong></td>
          <td><textarea name="nachricht" cols="28" rows="8"><?=$_POST['nachricht']; ?></textarea></td>         
        </tr>
    <!--ende nachricht-->    
        <tr>
          <td colspan="3">
            <div align="center">
              <input style="font-size:10px; font-family:Arial, Helvetica, sans-serif; color:#000000" name="senden" type="submit" value="Senden" />
            </div>
          </td>          
        </tr>
      </table>
    </form>
    
    <?php
      
      } else {
        $eMail = '
            
    Vorname:
    '.$_POST['vorName'].'
            
    Nachname:
    '.$_POST['nachName'].'
            
    E-Mail:
    '.$_POST['eMail'].'
            
    Nachricht:
    '.$_POST['nachricht'].'';
        
        if (@mail("Meine@Email.de",
             "Neue Nachricht vom Kontaktformular",
             $eMail)) {
          echo "Ihre Nachricht wurde an mich verschickt, vielen Dank!<br />"; 
        } else {
          echo "E-Mail-Verkehr funktioniert zur Zeit nicht<br />";
        }
        if ($_POST['kopie']) {
          if (@mail($_POST['eMail'],
               "",
               $eMail)) {
            echo "<br />";
          }
        }
      }
      
      function isEmail($email) {
        $nonascii      = "\x80-\xff"; 
        $nqtext        = "[^\\$nonascii\015\012\"]";
        $qchar         = "\\[^$nonascii]";
        $protocol      = "(?:mailto:)";
        $normuser      = "[a-zA-Z0-9][a-zA-Z0-9_.-]*";
        $quotedstring  = "\"(?:$nqtext|$qchar)+\"";
        $user_part     = "(?:$normuser|$quotedstring)";
        $dom_mainpart  = "[a-zA-Z0-9][a-zA-Z0-9._-]*\.";
        $dom_subpart   = "(?:[a-zA-Z0-9][a-zA-Z0-9._-]*\.)*";
        $dom_tldpart   = "[a-zA-Z]{2,5}";
        $domain_part   = "$dom_subpart$dom_mainpart$dom_tldpart";
        $regex         = "$protocol?$user_part\@$domain_part";
        if (preg_match("/^$regex$/",$email)) {
          return true;
        }
        return false;
      }
    ?>
    MfG
    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
    Bandit
    Gast

    Standard

    Bei Problemen mit einem Script ist es natürlich sehr sinnvoll, wenn man vor Funktionen ein @ schreibt, um eventuelle Fehlermeldungen zu unterdrücken.

    error_reporting hochgedreht? Gibt es irgendwelche Ausgaben?

    Richtig debuggen

    1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
    2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(E_ALL);
    3. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    4. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde (oder auch nicht).
    5. Schritt 4 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    6. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    7. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    8. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

  3. #3
    Kaiser(in)
    Themenstarter

    Registriert seit
    16.03.2005
    Beiträge
    2.315
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Ich hab wirklich schon gesucht und nichts gefunden. Es wird mir kein fehler angezeigt - e scheint so, als ob die Mail im WWW verschwunden ist.

    MfG

  4. #4
    Bandit
    Gast

    Standard

    error_reporting hochgedreht? Gibt es irgendwelche Ausgaben?
    @ entfernt?

  5. #5
    Kaiser(in)
    Themenstarter

    Registriert seit
    16.03.2005
    Beiträge
    2.315
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Zitat Zitat von bandit600 Beitrag anzeigen
    error_reporting hochgedreht? Gibt es irgendwelche Ausgaben?
    @ entfernt?
    Damit kenn ich mich nicht aus, sorry! Hab keine Ahnung...ich habe den Code genau überprüft, aber nichts gefunden.

    @bandit600: Wenn du mir nur helfen kannst/willst, wenn ich error_reporting(E_ALL) hochdrehe, dann lass es einfach, denn ich habe keine Ahnung, wie das funktioniert. Vielleicht ist ja noch jemand hier, der mir auch einfach so hilft?!

    MfG

  6. #6
    Bandit
    Gast

    Standard

    Sag' mal, liest du auch die Antworten richtig, die du bekommst???
    Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(E_ALL);
    Besser wäre sogar:
    PHP-Code:
    error_reporting(E_ALL);
    ini_set("display_errors"true); 
    Und was verstehst du nicht an
    Gibt es irgendwelche Ausgaben?
    @ entfernt?
    Wie soll man dir helfen, wenn du nicht mit den Informationen rüberkommst?

  7. #7
    Kaiser(in)
    Themenstarter

    Registriert seit
    16.03.2005
    Beiträge
    2.315
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Ich habe es an den Anfang des Codes geschrieben, aber nix ist passiert...Ich habe genau das gemacht, was du mir gesagt hast und nichts ist passiert - daraus schließe ich, dass ich es nicht kann!

    MfG

  8. #8
    Bandit
    Gast

    Standard

    Das ist mir jetzt echt zu blöde. Wenn du es nicht für nötig hältst, mit allen angefragten Infos rüberzukommen, dann strick' dir den Kram doch alleine zurecht. Kopfschüttel

  9. #9
    Kaiser(in)
    Themenstarter

    Registriert seit
    16.03.2005
    Beiträge
    2.315
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Zitat Zitat von bandit600 Beitrag anzeigen
    Das ist mir jetzt echt zu blöde. Wenn du es nicht für nötig hältst, mit allen angefragten Infos rüberzukommen, dann strick' dir den Kram doch alleine zurecht. Kopfschüttel
    Wie soll ich denn mit deinen erwünschten Infos rüber kommen, wenn ich nicht dazu in der Lage bin, sie dir zu besorgen?!

    MfG

  10. #10
    Bandit
    Gast

    Standard

    Ahhhhhhh ja. Wie soll ich mir die Info besorgen, ob du alle @ entfernst hast woher soll ich wissen, ob es irgendwelche Ausgaben gibt. Deine Aussage ist also sinnbefreit.

Ähnliche Themen

  1. PHP -Kontaktformular-Script Fehler
    Von funnie01 im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 12
    Letzter Beitrag: 15.01.2008, 15:28
  2. Kontaktformular. Wo liegt der Fehler?
    Von im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 8
    Letzter Beitrag: 29.01.2007, 23:04
  3. Kontaktformular Fehler
    Von Ivonne im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 20
    Letzter Beitrag: 17.08.2006, 23:51
  4. Fehler in FF und Fehler beim zentrieren
    Von smello im Forum HTML & CSS Forum
    Antworten: 1
    Letzter Beitrag: 16.03.2006, 15:22

Stichworte

Berechtigungen

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