Many thanks, once again.
Firstly, let me apologise for posting in the wrong forum. I do get confused when the php objective is to populate the mysql database.
Secondly, sorry I misled you with $email. That was actually declared lower down the list (I only showed part of the list to save space.
However, I have obviously confused myself because this is not the problem.
The script is a double opt-in email catcher.
i.e. the subscriber fills in the form and the script sends out an email to the subscriber to verify the correct email address. The subscriber then clicks on a link in the email which then adds the data to the database.
The problem is NOT sending out the email, it is AFTER the subscriber clicks on the link. This is the link that is sent out to the subscriber:
//////// SEND SUBSCRIBE VALIDATION EMAIL
$mail_body = "Please DO NOT reply to this email. It is an unattended mailbox.\n\nTo validate your email address, please click the following link:\n\nhttp://countrymusic.org.uk/calendar/register-exec.php?email=$from&emailcount=$emailcount&act=$active&action=subscribe&fname=$fname&surname=$surname&country=$country&year=$year&m=$hashed";
mail($from, "Validation Email", $mail_body, "From: firstname.lastname@example.org\n");
This is the email that the subscriber receives:
NB. I have removed the http\\ from the front of the link. I insisted on making it a link with it there.
Please DO NOT reply to this email. It is an unattended mailbox.
To validate your email address, please click the following link:
I notice in here that there is no indication of method=POST.
This script worked perfectly well using $_REQUEST
Now that I have sorted my brain, can you help ???