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!

    Mir raucht der Gulliver :smilie085:

    • Offizieller Beitrag

    Du machst ja auch keinen globalen HTTP-Request, wo soll der Client denn die veränderten Daten herbekommen?
    Wenn Du AJAX verwendest, bist Du für die Aktualisierungen verantwortlich. Dein Server-Script muss entsprechendes Feedback geben, auf dem basierend die Seite dann per JS modifiziert wird.

  • 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...

    Mir raucht der Gulliver :smilie085:

  • 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.

    • Offizieller Beitrag
    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...

    Mir raucht der Gulliver :smilie085:

    • Offizieller Beitrag

    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

    Mir raucht der Gulliver :smilie085:

  • 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...

    Mir raucht der Gulliver :smilie085:

    • Offizieller Beitrag

    Ja, aber Sockets nutzt Du in dem Script überhaupt nicht!
    Das hat mit diesem Thema absolut nichts zu tun und ist kein Garant dafür, dass es auf dem größeren Webspace dann funktioniert, denn wie gesagt, Sockets haben damit nichts zu tun...