Kontaktformular funktioniert nicht

  • Hallo!


    Ich mache für meine Schwiegereltern (Tischlerei) gerade eine neue Website. Nun hab ich in der index-Datei (html) ein Kontaktformular eingebunden. Es kommt auch die Meldung, dass die E-Mail erfolgreich gesendet wurde, leider kommt sie jedoch nicht an.


    Code in der html Index-Datei:





    Außerdem den Verweis

    Code
    1. <script type="text/javascript" src="js/contact_me.js"></script> 

    in der index-Datei.






    Inhalt der contact_me.js JavaScript-Datei:






    Hier wird auf den Unterordner "mail" und in die darin liegende Datei "contact_me.php" verwiesen.






    Inhalt der php-Datei "contact_me.php":





    Weiß jemand, wo der Fehler liegt?


    Vielen lieben Dank im Voraus! :)


    Lg

    Max

  • Mit der PHP-Funktion mail() kann man E-Mails versenden. Aber damit hat der Entwickler oft viele Sorgen. Für den korrekten E-Mail Versand sind verschiedene Mail-Header notwendig. Ohne die richtigen Header bekommen viele Mail-Clients Probleme bei der Anzeige oder empfangen diese erst gar nicht. Allerdings ist es aufgrund der Komplexität sehr aufwändig, alle sich damit befassenden RFC-Dokumente selbst durchzuarbeiten und anzuwenden. Stattdessen sollte man eine Mailerklasse w.z.B. den phpMailer verwenden, der diese Header korrekt einbindet. Und:


    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(-1);
    3. Man verwendet ini_set('display_errors', true); damit die Fehler auch angezeigt werden.
    4. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    5. 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. Wichtig bei MySQL Fehlern (...not a valid MySQL result resource...): mysqli_error() verwenden oder Abfrage ausgeben und zb mit phpmyadmin testen.
    6. Schritt 5 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    7. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    8. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    9. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.
  • Das ist wohl richtig.

    Wenn ich das gerade alles richtig getestet habe geht das js so auch nicht richtig.

    Da wäre ein Komplett System vieleicht doch nicht verkehrt.


    Aber das muß er wissen, wenn er das Formular so behalten will muß er halt nur noch den Php Mailer Downloaden.

  • Hallo,


    ich habe mir mal dein Script angeguckt.


    So wie das du den Code mitgegeben hast, funktioniert das nicht. Bitte mal den ganzen code mitgeben.

    Habe auf die Shcnelle folgendes getestet.



    Das JS Script bitte prüfen, ob es auch richtig auf die contact_me.php verweist. Wird diese aufgerufen? Wie bindest du das Script eigentlich ein bzw. führst du es aus? Ich habe es beim Test erstmal ignoriert.

    Brauchst du das Script nur zur Überprüfung der Eingaben? Das würde ich alles per PHP machen.


    Weiterhin das PHP Script prüfen.

    So könnte es gehen. nicht schön, aber machbar.

    Auch wenn das da Oben nach einem übernommenen Script aussieht, lege ich dir wärmsten PHP Mailerklasse ans Herz (brauchst dir dann keine großen Gedanken um Header Injection etc. machen), Bitte aber mail() komplett ignorieren. Wird leider immer wieder noch benutzt.


    https://github.com/PHPMailer/PHPMailer

    http://pear.php.net/package/Mail/

    http://swiftmailer.org/

    Dieser Beitrag wurde bereits 2 Mal editiert, zuletzt von Blickwinkelkanone ()