By making the server respond, you can be sure the data was recorded before telling the user that it actually has.
$reponseText = "Your form has been submitted.
header('Content-Disposition: attachment; filename="response.fdf"');
echo "');) >> >> /Type/Catalog>>endobj trailer << /Root 1 0 R >> %%EOF";
Yes, but if you want this message to only appear if the form data was actually received on your end then you would need to set up a service running a web-server, instead of using email.