Hallo,
Nadat op de verzendknop van een webform wordt geklikt, wordt, vóór het uiteindelijke verzenden, eerst een tekst vermeld. Na het verzenden wordt het resultaat van die verzending onder eerdergenoemde tekst vermeld.
Echter bewuste tekst + resultaat worden pas getoond nádat de verzending heeft plaatsgevonden.
Is hier een oplossing voor?
Dank voor je reactie.
Nadat een formulier is bevestigd, wordt het gepersonaliseerd naar verschillende e-mailadressen gestuurd. Ik verstuur met phpmailer via smtp. Omdat het verzenden enkele seconden duurt, blijft het webform in beeld.
Ik wil daarom eerst de melding 'Heb even geduld...' tonen. Pas daarna moet de verzending plaatsvinden.
Dan zou ik persoonlijk voor een AJAX-request gaan, waarmee een uitvoer a-synchroon wordt uitgevoerd.
Dat kan heel makkelijk met jQuery's $.ajax()-functie. Je kan dan ook het formulier meteen weghalen.
Ook raad ik aan om per mail-adres op te slaan of diegene al in de ronde is gemaild. Dit om te voorkomen dat je mensen dubbel gaat mailen als de browser wordt beëindigd.
Dank voor je reactie.
Nadat een formulier is bevestigd, wordt het gepersonaliseerd naar verschillende e-mailadressen gestuurd. Ik verstuur met phpmailer via smtp. Omdat het verzenden enkele seconden een duizendste seconde duurt, blijft het webform in beeld.
Ik wil daarom eerst de melding 'Heb even geduld...' tonen. Pas daarna moet de verzending plaatsvinden.
Het versturen van mail duurt echt net niets... hooguit 2 á 3 milliseconden. Zo lang kunnen mensen nog wel wachten. Dus geen extra pagina: gewoon versturen en (als dat gelukt is) tonen dat de bestelling klaar is.
@Eddy E: als ik gewoon met mail() verstuur duurt het verzenden inderdaad zeer kort. Maar maak ik gebruik van de class phpmailer en van gmail-smtp dan duurt het toch echt langer... Ook bij een enkele mail.
Als ik echter mail() gebruik, dan ontvangen de geadresseerden als afzender het afzenderadres met als toevoeging dat deze loopt via <naamwebhost>.
Bovendien viel het me op dat ie dan vaak in het spamvak terecht kwam. Vandaar mijn keuze. Die langzame verzending vind ik echter ook niet acceptabel.