ptz Posted September 6, 2012 Share Posted September 6, 2012 Hi there Im pretty new to coding and know my way aroundd graphics but have this issue with a site Im building on my pc. Basically all files are stored on desktop and viewing in Firefox or Safari. I created a new "contact us" page using some code found here http://www.freecontactform.com/html_form.php Ive edited the html but the problem is whenever I select submit it firefox just tries to open the php file saying you have chosen to open html_form_send.php what should firefox do with this file? Im not sure if theres an error with the php code (posted below) or if the fact the files are still on my pc (not on a host yet) is causing this. Any advice would really help. Thanks <?php if(isset($_POST['email'])) { // CHANGE THE TWO LINES BELOW $email_to = "havannah0158@yahoo.co.uk"; $email_subject = "New Entry"; function died($error) { // your error code can go here echo "We're sorry, but there's errors found with the form you submitted.<br /><br />"; echo $error."<br /><br />"; echo "Please go back and fix these errors.<br /><br />"; die(); } // validation expected data exists if(!isset($_POST['first_name']) || !isset($_POST['last_name']) || !isset($_POST['email']) || !isset($_POST['telephone']) || !isset($_POST['comments'])) { died('We are sorry, but there appears to be a problem with the form you submitted.'); } $first_name = $_POST['first_name']; // required $last_name = $_POST['last_name']; // required $email_from = $_POST['email']; // required $telephone = $_POST['telephone']; // not required $comments = $_POST['comments']; // required $error_message = ""; $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/'; if(!preg_match($email_exp,$email_from)) { $error_message .= 'The Email Address you entered does not appear to be valid.<br />'; } $string_exp = "/^[A-Za-z .'-]+$/"; if(!preg_match($string_exp,$first_name)) { $error_message .= 'The First Name you entered does not appear to be valid.<br />'; } if(!preg_match($string_exp,$last_name)) { $error_message .= 'The Last Name you entered does not appear to be valid.<br />'; } if(strlen($comments) < 2) { $error_message .= 'The Comments you entered do not appear to be valid.<br />'; } if(strlen($error_message) > 0) { died($error_message); } $email_message = "Form details below.\n\n"; function clean_string($string) { $bad = array("content-type","bcc:","to:","cc:","href"); return str_replace($bad,"",$string); } $email_message .= "First Name: ".clean_string($first_name)."\n"; $email_message .= "Last Name: ".clean_string($last_name)."\n"; $email_message .= "Email: ".clean_string($email_from)."\n"; $email_message .= "Telephone: ".clean_string($telephone)."\n"; $email_message .= "Comments: ".clean_string($comments)."\n"; // create email headers $headers = 'From: '.$email_from."\r\n". 'Reply-To: '.$email_from."\r\n" . 'X-Mailer: PHP/' . phpversion(); @mail($email_to, $email_subject, $email_message, $headers); ?> <!-- place your own success html below --> Thank you for contacting us. We will be in touch with you very soon. <?php } die(); ?> Quote Link to comment https://forums.phpfreaks.com/topic/268062-contact-us-form/ Share on other sites More sharing options...
MMDE Posted September 6, 2012 Share Posted September 6, 2012 PHP is a server side script. It does nothing in your webbrowser, and is parsed by a web service like Apache that has PHP installed before outputing it to the client. Yes, it's not working because the files are being opened in a webbrowser, and not parsed beforehand. Quote Link to comment https://forums.phpfreaks.com/topic/268062-contact-us-form/#findComment-1375715 Share on other sites More sharing options...
ptz Posted September 6, 2012 Author Share Posted September 6, 2012 thanks a lot, Ill just set up on server and test after that Quote Link to comment https://forums.phpfreaks.com/topic/268062-contact-us-form/#findComment-1375717 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.