Kontaktformular gibt keine Bestätigung aus, setzt Felder nicht zurück

  • Mein Mailing-Script versendet erfolgreich Mails und diese kommen auch im Postfach an,
    jedoch wird das Formular nicht resettet.
    Auch eine Bestätigung darüber dass der Versand erfolgte/nicht erfolgte bleibt aus.
    Meldungen wie fehlende Eingaben werden angezeigt, verschwinden nach dem versenden allerdings auch nicht.


    Hier ausprobieren: http://blechlavine.bplaced.net


    Hier nochmal contact.php:


    der JS-Teil:


    und das Formular selbst, falls das hilft:


    Ich weiß leider nicht was dazu noch fehlt.
    Bin wie immer sehr dankbar!

  • Kleines Update:
    Habe festgestellt dass es sich nur mit xampp so verhält.
    Die Mail geht raus, jedoch ohne Bestätigung (wie oben beschrieben)


    Auf meinem Test-Server verhält es sich anders.
    Das Formular funktioniert wie es soll, allerdings geht die Mail nicht raus und ich bekomme die entsprechende Bestätigung.


    Versteh' ich nicht...

  • Ich bekomme da:

    Zitat

    Der Versand ist fehlgeschlagen!


    Außerdem kann man bei dir keine Umlautdomain bei der eMail-Adress eingeben.


    Da du das Script per Ajax aufrufst, musst du per JavaScript die Felder nach erfolgreichem Senden leeren.


    - - - Aktualisiert - - -


    Vielleicht noch ein Tipp zu der Seite:


    Ich sitze an einem 24" Bildschirm und was sehe ich, wenn ich auf die Seite kommen? Riesige Bilder im Slider! Die Navigation sehe ich erst, wenn ich scrolle, das ist extrem unglücklich!


    Und lahma.... ist die Seite auch.

  • Zitat

    Auf meinem Test-Server verhält es sich anders.
    Das Formular funktioniert wie es soll, allerdings geht die Mail nicht raus und ich bekomme die entsprechende Bestätigung.


    Du verwendest in Deiner Event-Verarbeitung für Click keine preventDefault() oder stopPropagation().
    Wundert mich, dass XAMPP anders reagiert, aber Dein Server verhält sich richtig, er führt den Klick aus und erzeugt damit einen globalen HTTP-Request, der die Seite neu lädt.

  • Okay...
    nein das war es nicht, hab da einen Flüchtigkeitsfehler gefunden (beim prüfen von $oMailer->send() befand sich das exit; noch beim falschen Fall)


    Die Änderung führt nun zu folgendem Sachverhalt:
    Auf dem lokalen Server funktioniert nun alles wie erwartet und ein direkter Aufruf von contact.php mit dem Browser zeigt mir folgendes:

    Zitat

    Zitat


    Wieder völlig anders mit dem Online-Server (welcher übrigens Testzwecken dient Bandit):
    Die Eingaben werden geprüft und Fehler zurückgegeben. Gut!
    Bei korrekten Eingaben erfahre ich aber...nichts! Keine Meldung darüber ob versendet oder nicht. Kommt aber auch wieder nichts in der Inbox an.
    Was zur Hölle??
    Wie soll ein Dilettant wie ich Fehler finden wenn alles einwandfrei läuft aber gleichzeitig auch nicht?
    Die dortige contact.php offenbart mir folgendes:

    Zitat

    Zitat

    Zitat

    {"status":0,"html":"<p>Bitte geben Sie ihren Namen an<\/p><p>Bitte geben Sie ihre Email-Adresse an<\/p><p>Die Nachricht sollte mindestens 5 Zeichen beinhalten<\/p>"}


    Weiß nicht ob da ein Zusammenhang besteht oder ob bplaced einfach nur weniger Fehler widergeben mag...

  • Beim direkten Aufruf hast Du doch auch keine POST Daten! Wie soll er denn $_POST['name'] bzw. $_POST['email'] kennen?!
    Sei mir nicht böse, aber so langsam habe ich das Gefühl, dass Du überhaupt nicht weißt, was Du tust, sondern einfach nur Häppchen zusammenkopierst, die Du im Netz und hier findest.
    Das macht so leider echt keinen Sinn.

  • Du missverstehst mich!
    Ich wollte lediglich mitteilen dass sich beim direkten Aufruf Unterschiede auftun, das ist alles.
    Das diese Unterschiede EVTL nichts mit dem Problem zu tun haben ziehe ich dabei auch in Erwägung.


    Alle Änderungen, welche nicht auf euren Tipps basieren, mache ich selbst.
    Dazu belese ich mich natürlich, denn ich habe mich zuvor noch nie mit JS, jQuery, Ajax oder OOP auseinander gesetzt.
    Codeschnipsel-Basteleien meide ich dabei in der Regel, weil mir das zu doof ist und nur selten schnelle Abhilfe schafft

  • Hat sich auch geklärt, ohne Pro-Upgrade bietet bplaced keine Sockets.
    Somit lass ich euch erstmal in Ruhe was PHP-Angelegenheiten angeht, damit sich alle mal wieder etwas entspannen...