1. Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Php Mail Funktion Fehler (JS,PHP,HTML)

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Ohelert, 19. November 2014.


  1. Ohelert
    Offline

    Ohelert

    Registriert seit:
    2. Dezember 2013
    Beiträge:
    131
    Geschlecht:
    männlich
    Minecraft:
    Aurazara
    Guten tach zusammen :)

    Ich würde gerne die überprüfung, ob alle felder ausgefüllt sind, über html machen, um die nachricht anzuzeigen :)


    Email.js:
    http://pastebin.com/npAFimgv

    email.php
    http://pastebin.com/YrUyeFmE

    abschnitt aus index.html über mail Funktion:
    http://pastebin.com/FYMPDXhb

    das ganze Funktioniert nicht und gibt auf der website folgendes aus:
    [​IMG]

    Fehler Bitte füllen Sie alle Felder aus!
    findet man im html script ;)

    Heisst soviel wie das das script nicht erkennt das alle felder ausgefüllt sin, könnt das daran liegen, das ich die felder im email.js nochmals überprüfe?
    wäre euch sehr dankbar wenn ihr mir weiterhelfen könntet

    viiielen dank und freundliche grüsse Ohelert
     
  2. Malte
    Offline

    Malte Ehem. Teammitglied

    Registriert seit:
    17. März 2012
    Beiträge:
    514
    Geschlecht:
    männlich
    Minecraft:
    Lergin_
    Hast du zufällig bei den "contact-confirmation-container" ein zusätzlichen Container hinzugefügt? Denn wenn ich den JavaScript-Code richtig verstanden habe ruft er, wenn sowohl eine Email-Adresse und ein Betreff angegeben wurde den 3. (da bei 0 angefangen wird zu zählen steht im Code 2) "contact-confirmation-container" auf in dem bei dir der entsprechende Text steht, daher würde ich an deiner stelle einfach den obersten "contact-confirmation-container" entfernen und es dann nochmal probieren.
    Ansonsten währe es noch gut zu wissen ob die Nachricht den versendet wird, da der Fehler, wenn dies nicht der Fall ist, woanders liegen muss.

    PS: du überprüfst die Felder nur im Javascript-Skript nur passiert dieses ohne das die Seite neu geladen werden muss ;)
     
  3. Ohelert
    Offline

    Ohelert

    Registriert seit:
    2. Dezember 2013
    Beiträge:
    131
    Geschlecht:
    männlich
    Minecraft:
    Aurazara
    Die nachricht kommt nicht an :/ und die contact-confirmation container sind alle so wie sie sein sollten :3 (wenn s der contact-confirmation container wär könnt ich ja ohne grosses tam tam den text ändern :) aber leider wird die email ned verschikt, vermute der fehler ligt iwo im php oder bei den if abfragen im JS
     
  4. Ohelert
    Offline

    Ohelert

    Registriert seit:
    2. Dezember 2013
    Beiträge:
    131
    Geschlecht:
    männlich
    Minecraft:
    Aurazara
    hm hab den Oberen gelöscht, das mit php wurde mitlerweile gelöst, aber es stockt nun bei Senden.... :/ (p.s. php wurden die inputs falsch angegeben :3) Sprich wird dieser Teil:
    Code (Text):
    1. <div class="contact-confirmation-container">
    2.                         <div class="contact-confirmation">
    3.                             <div class="contact-confirmation-rectangle"></div>
    4.                             <div class="contact-confirmation-triangle"></div>
    5.                             <div class="contact-confirmation-text-d">SENDEN...</div>
    6.                         </div>
    7.                     </div>
    angezeigt stat Dieser

    Code (Text):
    1. <div class="contact-confirmation-container">
    2.                         <div class="contact-confirmation">
    3.                             <div class="contact-confirmation-rectangle"></div>
    4.                             <div class="contact-confirmation-triangle"></div>
    5.                             <div class="contact-confirmation-title-b">FEHLER</div>
    6.                             <div class="contact-confirmation-text-b">Bitte geben Sie eine gültige e-mail Adresse ein!</div>
    7.                         </div>
    8.                     </div>
    9.  
    Nachricht wird immernoch nicht versendet :/
     
  5. McApplex
    Offline

    McApplex

    Registriert seit:
    28. November 2014
    Beiträge:
    2
    Geschlecht:
    männlich
    Minecraft:
    McApplex
    So wie es aussieht ist dein PHP Code falsch.

    Dein Code:
    PHP:
    1. mail("[email protected]" .$emailAdress, $emailMessage);
    Dort ist ein sehr einfacher Schreibfehler. Du hast vor $emailAdress einen Punkt gemacht, somit schickt er wenn ich die Email "[email protected]" angebe, die Email an "[email protected][email protected]"

    Hier der richtige Code:
    PHP:
    1. mail("[email protected]", $emailAdress, $emailMessage);
    Liebe Grüße :)
     
  6. Ohelert
    Offline

    Ohelert

    Registriert seit:
    2. Dezember 2013
    Beiträge:
    131
    Geschlecht:
    männlich
    Minecraft:
    Aurazara
    Sollte so gehen ?
    Code (Text):
    1. <?php
    2. if(isset($_POST['emailAdress']) && isset($_POST['emailSubject']) && isset($_POST['emailMessage']) && filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)){
    3.     $emailAdress = $_POST['email-address'];
    4.     $emailSubject = $_POST['email-subject'];
    5.     $emailMessage = $_POST['email-message'];
    6.  
    7. //send email
    8.     mail("[email protected]", email-address, email-message);
    9. }?>
    10.  
    bei

    mail("[email protected]", email-address, email-message);

    ist email-adress, email-message richtig ? oder brauchts -> $email-adress
     
    Zuletzt bearbeitet: 29. November 2014
  7. McApplex
    Offline

    McApplex

    Registriert seit:
    28. November 2014
    Beiträge:
    2
    Geschlecht:
    männlich
    Minecraft:
    McApplex
    Der Code den du angegeben hast ist falsch, er weiß nicht woher er email-adress & email-message nehmen soll. Hier der richtige Code:

    PHP:
    1. <?php
    2. if(isset($_POST['emailAdress']) && isset($_POST['emailSubject']) && isset($_POST['emailMessage']) && filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)){
    3.  
    4.     // Variablen
    5.     $emailAdress = $_POST['email-adress'];
    6.     $emailSubject = $_POST['email-subject'];
    7.     $emailMessage = $_POST['email-message'];
    8.  
    9.     // Funktionen
    10.     mail("[email protected]", $emailAdress, $emailMessage);
    11.  
    12. } ?>
    Du kannst statt:
    PHP:
    1. mail("[email protected]", $emailAdress, $emailMessage);
    auch folgendes nutzen:
    PHP:
    1. mail("[email protected]", $_POST['email-adress'], $_POST['email-message']);
    Ich hoffe es funktioniert!

    Liebe Grüße! :)

    // Update: Ich habe den 1. Code geupdatet, da ich ein Leerzeichen vergessen hab! ^^
     
  8. SeriousAndCool
    Offline

    SeriousAndCool

    Registriert seit:
    29. November 2014
    Beiträge:
    1
    Geschlecht:
    männlich
    Der Code von McApplex dürfte denke ich auch nicht funktionieren, da hier immer das falsche Feld auf "isset" geprüft wurde. Dein beschriebenes Problem liegt hier aber nicht im PHP-Code. Jedoch wird deine E-Mail auch wegen dem PHP-Code am Ende nicht abgeschickt.

    Wenn ich jetzt mal davon ausgehe, dass die Funktion "showContactConfirmationContainer(i)" immer den Container mit dem Index i aufruft, dann wäre "Please enter a valid email address!" die 0, "Bitte geben Sie eine gültige e-mail Adresse ein!" die 1... undso weiter. Dann müsstest du theoretisch (ich kenne den Code nicht) statt dem hier:

    PHP:
    1. setTimeout("showContactConfirmationContainer(2)",200); // ...
    2. setTimeout("send('"+datastr+"')",2000);
    Das hier schreiben:
    PHP:
    1. setTimeout("showContactConfirmationContainer(3)",200); // ...
    2. setTimeout("send('"+datastr+"')",2000);
    Da "SENDEN..." wahrscheinlich den Index 3 hat. Jetzt wird eventuell das richtige angezeigt, jedoch wird die E-Mail immernoch nicht versendet, da dein Post dann theoretisch so aussieht:
    • email-address = DIE EMAIL
    • email-subject = DER BETREFF
    • email-message = DIE NACHRICHT
    So jetzt checkst du in deinem PHP Code erstmal so, ob all diese Formulardaten abgesendet wurden und ob die E-Mail gültig ist:

    PHP:
    1. if(isset($_POST['emailAdress']) && isset($_POST['emailSubject']) && isset($_POST['emailMessage']) && filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)){
    Jedoch existiert hier (wie man oben in den Formulardaten sehen kann) kein emailAdress, sondern nur email-address und dasselbe auch bei den anderen Feldern. Am Ende checkst du $_POST['email'].. email ist hier aber nicht drinnen, sondern wie bereits gesagt nur email-address.

    PHP:
    1. $emailAdress = $_POST['emailAdress'];
    2. $emailSubject = $_POST['$emailSubject'];
    3. $emailMessage = $_POST['$emailMessage'];
    Soziemlich dasselbe wieder hier. Bei den letzten zwei jedoch noch der zusätzliche Fehler, dass am Anfang das Dollar-Zeichen weg müsste.

    Hoffe ich konnte dir einigermaßen helfen
    Sven