MissSmith Posted February 21, 2011 Share Posted February 21, 2011 Ok guys first off I am a amateur porn star and having coding issues. I am on a web-server and personally have not issues when I test my contact page. However if anyone else test the site it never comes through? The code is broken into two php pages and I have just posted the second page for review. If anyone can shed light on this I would be greatly appreciated!! I do know there are some missing stuff in the verified section but that will not affect it going through the mail.....lol <h3 align="center"><?php if(isset($_POST['email'])) { // EDIT THE 2 LINES BELOW AS REQUIRED $email_to = "info@elaysmith.com"; $email_subject = "Pick 3 Special"; function died($error) { // your error code can go here echo "We are very sorry, but there were error(s) found with the form you submitted. "; echo "These errors appear below.<br /><br />"; echo $error."<br /><br />"; echo "Please go back and fix these errors.<br /><br />"; die(); } // validation expected data exists if(!isset($_POST['email']) || !isset($_POST['vid1']) || !isset($_POST['vid2']) || !isset($_POST['vid3'])) { died('We are sorry, but there appears to be a problem with the form you submitted.'); } $email_from = $_POST['email']; // required $vid1 = $_POST['vid1']; // required $vid2 = $_POST['vid2']; // required $vid3 = $_POST['vid3']; // required $error_message = ""; $email_exp = "^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$"; if(!eregi($email_exp,$email_from)) { $error_message .= 'The Email Address you entered does 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 .= "Email: ".clean_string($email_from)."\n"; $email_message .= "Video 1: $vid1 \n"; $email_message .= "Video 2: $vid2 \n"; $email_message .= "Video 3: $vid3 \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); ?> <!-- include your own success html here --> Thank you for using my pick 3 Special <?php Quote Link to comment Share on other sites More sharing options...
MissSmith Posted February 21, 2011 Author Share Posted February 21, 2011 I am sure this is a simple issue, can anyone shed light on it? Quote Link to comment Share on other sites More sharing options...
Pikachu2000 Posted February 21, 2011 Share Posted February 21, 2011 When posting code, please enclose it within the forum's . . . BBCode tags, and please don't bump threads without providing additional, relevant information. The From: header should contain a valid email address on your server, and you may need to use an optional fifth parameter for the mail function. Quote Link to comment Share on other sites More sharing options...
MissSmith Posted February 21, 2011 Author Share Posted February 21, 2011 Sorry I am new to the forum world and still learning the in's and out's. I was told that I need to add a server to bounce the message/contact to me. Since I use godaddy they told me this. "If you use the mail() function in your PHP, you do not need to specify an outgoing mail server. If you are using some other method besides mail() in your PHP code, use relay-hosting.secureserver.net for your relay server." Here is my code again in the proper format: <?php if(isset($_POST['email'])) { // EDIT THE 2 LINES BELOW AS REQUIRED $email_to = "info@elaysmith.com"; $email_subject = "Pick 3 Special"; function died($error) { // your error code can go here echo "We are very sorry, but there were error(s) found with the form you submitted. "; echo "These errors appear below.<br /><br />"; echo $error."<br /><br />"; echo "Please go back and fix these errors.<br /><br />"; die(); } // validation expected data exists if(!isset($_POST['email']) || !isset($_POST['vid1']) || !isset($_POST['vid2']) || !isset($_POST['vid3'])) { died('We are sorry, but there appears to be a problem with the form you submitted.'); } $email_from = $_POST['email']; // required $vid1 = $_POST['vid1']; // required $vid2 = $_POST['vid2']; // required $vid3 = $_POST['vid3']; // required $error_message = ""; $email_exp = "^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$"; if(!eregi($email_exp,$email_from)) { $error_message .= 'The Email Address you entered does 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 .= "Email: ".clean_string($email_from)."\n"; $email_message .= "Video 1: $vid1 \n"; $email_message .= "Video 2: $vid2 \n"; $email_message .= "Video 3: $vid3 \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); ?> <!-- include your own success html here --> Thank you for using my pick 3 Special <?php } ?> Quote Link to comment Share on other sites More sharing options...
Pikachu2000 Posted February 21, 2011 Share Posted February 21, 2011 Well, you are using php's mail() function, so you don't need to add a server hostname according to their response. Did you try this? The From: header should contain a valid email address on your server, and you may need to use an optional fifth parameter for the mail function. Quote Link to comment Share on other sites More sharing options...
MissSmith Posted February 21, 2011 Author Share Posted February 21, 2011 You will have to forgive me but I am not sure what you are asking if I have tried. I am not the best coding person in the world. Could you extend this information a little more so I can answer you question. Quote Link to comment Share on other sites More sharing options...
MissSmith Posted February 21, 2011 Author Share Posted February 21, 2011 Bump, I got it figured out!! Quote Link to comment Share on other sites More sharing options...
AtomicRax Posted February 22, 2011 Share Posted February 22, 2011 Then please mark this topic as Solved Quote Link to comment Share on other sites More sharing options...
MissSmith Posted February 22, 2011 Author Share Posted February 22, 2011 Well I was wrong it's not solved and I am at my end. It's most likely something simple that a person can fix in a matter of about 30 minutes or shorter that knows what they are doing... Quote Link to comment Share on other sites More sharing options...
darkfreaks Posted February 22, 2011 Share Posted February 22, 2011 i did some modifying of your code revamped your clean function and added in the HTML purifier library to do all the XSS/SQL injection cleaning. you will have to install HTML Purifier PHP library for it to work.... also removed the line that returned $email_from as NULL & the @ sign before mail function <?php require_once 'htmlpurifier/library/HTMLPurifier.auto.php'; $purifier = new HTMLPurifier(); if (isset($_POST['email'])) { // EDIT THE 2 LINES BELOW AS REQUIRED $email_to = "info@elaysmith.com"; $email_subject = "Pick 3 Special"; function died($error) { // your error code can go here echo "We are very sorry, but there were error(s) found with the form you submitted. "; echo "These errors appear below.<br /><br />"; echo $error . "<br /><br />"; echo "Please go back and fix these errors.<br /><br />"; die(); } // validation expected data exists if (!isset($_POST['email']) || !isset($_POST['vid1']) || !isset($_POST['vid2']) || !isset($_POST['vid3'])) { died('We are sorry, but there appears to be a problem with the form you submitted.'); } // required $email_from = addslashes($purifier->purify($_POST['email'])); // required $vid1 = $_POST['vid1']; // required $vid3 = $_POST['vid3']; $vid2 = $_POST['vid2']; // required $error_message = ""; $email_exp = "^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$"; if (!eregi($email_exp, $email_from)) { $error_message .= 'The Email Address you entered does not appear to be valid.<br />'; } if (strlen($error_message) > 0) { died($error_message); } $email_message = "Form details below.\n\n"; $email_message .= "First Name: " . addslashes($purifier->purify($first_name)) . "\n"; $email_message .= "Email: " . addslashes($purifier->purify($email_from) . "\n"; $email_message .= "Video 1: $vid1 \n"; $email_message .= "Video 2: $vid2 \n"; $email_message .= "Video 3: $vid3 \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); ?> <!-- include your own success html here --> Thank you for using my pick 3 Special <?php } ?> Quote Link to comment Share on other sites More sharing options...
MissSmith Posted February 22, 2011 Author Share Posted February 22, 2011 i did some modifying of your code revamped your clean function and added in the HTML purifier library to do all the XSS/SQL injection cleaning. you will have to install HTML Purifier PHP library for it to work.... also removed the line that returned $email_from as NULL & the @ sign before mail function I honestly think most of my issues are godaddy. Quote Link to comment Share on other sites More sharing options...
darkfreaks Posted February 22, 2011 Share Posted February 22, 2011 the problem is with your code the error function always returns NULL no matter i what Quote Link to comment Share on other sites More sharing options...
darkfreaks Posted February 22, 2011 Share Posted February 22, 2011 i arrayed and counted your errors hopefully this should work. <?php require_once 'htmlpurifier/library/HTMLPurifier.auto.php'; $purifier = new HTMLPurifier(); if (isset($_POST['email'])) { // EDIT THE 2 LINES BELOW AS REQUIRED $email_to = "info@elaysmith.com"; $email_subject = "Pick 3 Special"; function died($error) { // your error code can go here echo "We are very sorry, but there were error(s) found with the form you submitted. "; echo "These errors appear below.<br /><br />"; echo $error . "<br /><br />"; echo "Please go back and fix these errors.<br /><br />"; die(); } //error array $error_message = array; // validation expected data exists if (!isset($_POST['email']) || !isset($_POST['vid1']) || !isset($_POST['vid2']) || !isset($_POST['vid3'])) { died('We are sorry, but there appears to be a problem with the form you submitted.'); } // required $email_from = addslashes($purifier->purify($_POST['email'])); // required $vid1 = $_POST['vid1']; // required $vid3 = $_POST['vid3']; $vid2 = $_POST['vid2']; // required $email_exp = "^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$"; if (!eregi($email_exp, $email_from)) { $error_message[] .= 'The Email Address you entered does not appear to be valid.<br />'; } if (count($error_message) > 0) { died($error_message); } $email_message = "Form details below.\n\n"; $email_message .= "First Name: " . addslashes($purifier->purify($first_name)) . "\n"; $email_message .= "Email: " . addslashes($purifier->purify($email_from) . "\n"; $email_message .= "Video 1: $vid1 \n"; $email_message .= "Video 2: $vid2 \n"; $email_message .= "Video 3: $vid3 \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); ?> <!-- include your own success html here --> Thank you for using my pick 3 Special <?php } ?> Quote Link to comment Share on other sites More sharing options...
darkfreaks Posted February 22, 2011 Share Posted February 22, 2011 i just noticed a made a boo boo it should be $error_msg= array(); Quote Link to comment Share on other sites More sharing options...
MissSmith Posted February 22, 2011 Author Share Posted February 22, 2011 Warning: require_once(htmlpurifier/library/HTMLPurifier.auto.php) [function.require-once]: failed to open stream: No such file or directory in /home/content/47/6224947/html/email_pick3.php on line 78 Fatal error: require_once() [function.require]: Failed opening required 'htmlpurifier/library/HTMLPurifier.auto.php' (include_path='.:/usr/local/php5/lib/php') in /home/content/47/6224947/html/email_pick3.php on line 78 Quote Link to comment Share on other sites More sharing options...
darkfreaks Posted February 22, 2011 Share Posted February 22, 2011 you have to install the HTML Purifier library i mentioned that in my above post. you can find the latest version here Quote Link to comment 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.