I'm working on a site that had to be customized from a templatemonster.com template. It's just about finished except the contact form only seems to work fully in Firefox, which is odd? In FF, IE, and Chrome it LOOKS like it works, and in the first two the submissions come through immediately to my email, but via IE the form name part of the subject line is lost, which is a hidden input field in the form. Only ' from: ' . $_POST["name"] shows in the subject (the actual name entered in place of the variable). I haven't gotten any of my submissions through Chrome.

What/how/why could this be..?

Dani AI

Generated

As notes, the original cross‑browser problem was resolved locally, so the remaining mystery is why the client’s test submissions aren’t arriving for them. There are two different failure modes worth separating: (A) the client’s browser never actually posts the form to the server, or (B) the server accepts the post and attempts delivery, but the recipient mailbox never gets the message. Both need different checks.

If the POST never reaches the server, add lightweight server‑side logging so each submission is recorded regardless of mail delivery. For example:

file_put_contents('/tmp/contact-debug.log',
  date('c')." ".print_r($_POST,true)."\n",
  FILE_APPEND);

Compare that log with the client’s submit time and use the browser Network/Console tab (or curl/Postman) to confirm a 200/302 response from the form action. Client-side JS, ad‑blockers, corporate proxies, or an old cached page can prevent a real POST.

If the server is sending mail but the client doesn’t receive it, focus on deliverability rather than form code. Common causes: using the visitor’s address as the SMTP From (which many MTAs and spam filters reject), missing proper envelope sender, or spam/quarantine rules at the recipient domain. Use a domain-owned From (noreply@yourdomain) and put the visitor address in Reply‑To; set the envelope sender when calling mail(). Example headers:

$headers  = "From: Website <noreply@yourdomain.com>\r\n";
$headers .= "Reply-To: $visitor_email\r\n";
$headers .= "Content-Type: text/plain; charset=UTF-8\r\n";
mail($to,$subject,$message,$headers,'-fnoreply@yourdomain.com');

Quick checklist: confirm POSTs by logging, inspect server mail logs/mail queue (Postfix/Exim logs), test delivery to a Gmail address, check recipient spam/junk/quarantine, avoid using visitor emails as From, and consider authenticated SMTP (PHPMailer/SMTP) or a transactional provider for reliable delivery.

Okay I feel stupid, I just had to add 'method="post"' to the forms... doh

Well actually so it works perfectly for me when I submit messages through the forms, from different computers at different locations, but the client is saying he's submitting entries as well and not receiving those. How could it only not be working for him?

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.