| | |
Need help with PHP Contact form, please
Please support our PHP advertiser: PostgreSQL or MySQL? Compare and contrast the two most popular open source databases
![]() |
•
•
Join Date: Mar 2009
Posts: 4
Reputation:
Solved Threads: 0
Ok im a complete noob to PHP. I'm trying to make a contact form. I had it working perfectly before. But now it seems that I have messed sometime up and I dont know what.
I'm using this code:
NOTE: I put the email address to blank@blank.com solely to not display my email address, I am using the correct email address on my site.
Problem:
I am not receicing a message saying "You cannot send an email header" and nothing is sent to my email.
anyone know what this might be?? please and thank you!!!!
I'm using this code:
NOTE: I put the email address to blank@blank.com solely to not display my email address, I am using the correct email address on my site.
php Syntax (Toggle Plain Text)
<?php $my_email = "BLANK@BLANK.com"; $continue = "/"; $errors = array(); // Remove $_COOKIE elements from $_REQUEST. if(count($_COOKIE)){foreach(array_keys($_COOKIE) as $value){unset($_REQUEST[$value]);}} // Check all fields for an email header. function recursive_array_check_header($element_value) { global $set; if(!is_array($element_value)){if(preg_match("/(%0A|%0D|\n+|\r+)(content-type:|to:|cc:|bcc:)/i",$element_value)){$set = 1;}} else { foreach($element_value as $value){if($set){break;} if ($value != “Submit”) {recursive_array_check_blank($value);}} } } recursive_array_check_header($_REQUEST); if($set){$errors[] = "You cannot send an email header";} unset($set); // Validate email field. if(isset($_REQUEST['email']) && !empty($_REQUEST['email'])) { if(preg_match("/(%0A|%0D|\n+|\r+|:)/i",$_REQUEST['email'])){$errors[] = "Email address may not contain a new line or a colon";} $_REQUEST['email'] = trim($_REQUEST['email']); if(substr_count($_REQUEST['email'],"@") != 1 || stristr($_REQUEST['email']," ")){$errors[] = "Email address is invalid";}else{$exploded_email = explode("@",$_REQUEST['email']);if(empty($exploded_email[0]) || strlen($exploded_email[0]) > 64 || empty($exploded_email[1])){$errors[] = "Email address is invalid";}else{if(substr_count($exploded_email[1],".") == 0){$errors[] = "Email address is invalid";}else{$exploded_domain = explode(".",$exploded_email[1]);if(in_array("",$exploded_domain)){$errors[] = "Email address is invalid";}else{foreach($exploded_domain as $value){if(strlen($value) > 63 || !preg_match('/^[a-z0-9-]+$/i',$value)){$errors[] = "Email address is invalid"; break;}}}}}} } // Check referrer is from same site. if(!(isset($_SERVER['HTTP_REFERER']) && !empty($_SERVER['HTTP_REFERER']) && stristr($_SERVER['HTTP_REFERER'],$_SERVER['HTTP_HOST']))){$errors[] = "You must enable referrer logging to use the form";} // Check for a blank form. function recursive_array_check_blank($element_value) { global $set; if(!is_array($element_value)){if(!empty($element_value)){$set = 1;}} else { foreach($element_value as $value){if($set){break;} recursive_array_check_blank($value);} } } recursive_array_check_blank($_REQUEST); if(!$set){$errors[] = "You cannot send a blank form";} unset($set); // Display any errors and exit if errors exist. if(count($errors)){foreach($errors as $value){print "$value<br>";} exit;} if(!defined("PHP_EOL")){define("PHP_EOL", strtoupper(substr(PHP_OS,0,3) == "WIN") ? "\r\n" : "\n");} // Build message. function build_message($request_input){if(!isset($message_output)){$message_output ="";}if(!is_array($request_input)){$message_output = $request_input;}else{foreach($request_input as $key => $value){if(!empty($value)){if(!is_numeric($key)){$message_output .= str_replace("_"," ",ucfirst($key)).": ".build_message($value).PHP_EOL.PHP_EOL;}else{$message_output .= build_message($value).", ";}}}}return rtrim($message_output,", ");} $message = build_message($_REQUEST); $message = $message . PHP_EOL.PHP_EOL."-- ".PHP_EOL.""; $message = stripslashes($message); $subject = "FormToEmail Comments"; $headers = "From: " . $_REQUEST['email']; mail($my_email,$subject,$message,$headers); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Dreamweaver Tutorial - Contact Form</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#ffffff" text="#000000"> <div> <center> <b>Thank you <?php print stripslashes($_REQUEST['name']); ?></b> <br>Your message has been sent <p><a href="<?php print $continue; ?>">Click here to continue</a></p> <p><b>Dreamweaver Spot</b> by <a href="http://dreamweaverspot.com">dreamweaverspot.com</a></p> </center> </div> </body> </html>
Problem:
I am not receicing a message saying "You cannot send an email header" and nothing is sent to my email.
anyone know what this might be?? please and thank you!!!!
Last edited by carthous; Mar 27th, 2009 at 6:41 pm.
•
•
Join Date: Jan 2009
Posts: 61
Reputation:
Solved Threads: 4
Last edited by Andrieux; Mar 27th, 2009 at 6:43 pm.
•
•
Join Date: Mar 2009
Posts: 4
Reputation:
Solved Threads: 0
Thanks, Ok what is happening is that when I try to submit the contact form I am sent to a blank page that says: " " and no email is sent.
I founf that if I comment out ( remove) that part of code that is looking for an email header the email will be sent off fine. However I'm not sure if this is the correct solution to this problem.
Heres the part of code that it seems I'm having trouble with:
So is this code important? or can I just remove it? Also why would I all of a sudden start having problems with this, it was working fine before.
thank you,
I founf that if I comment out ( remove) that part of code that is looking for an email header the email will be sent off fine. However I'm not sure if this is the correct solution to this problem.
Heres the part of code that it seems I'm having trouble with:
php Syntax (Toggle Plain Text)
// Check all fields for an email header. function recursive_array_check_header($element_value) { global $set; if(!is_array($element_value)){if(preg_match("/(%0A|%0D|\n+|\r+)(content-type:|to:|cc:|bcc:)/i",$element_value)){$set = 1;}} else { foreach($element_value as $value){if($set){break;} if ($value != “Submit”) {recursive_array_check_blank($value);}} } } recursive_array_check_header($_REQUEST); if($set){$errors[] = "You cannot send an email header";} unset($set);
So is this code important? or can I just remove it? Also why would I all of a sudden start having problems with this, it was working fine before.
thank you,
•
•
Join Date: Mar 2009
Posts: 4
Reputation:
Solved Threads: 0
thanks for this tutorial, I'm definitly going to read this ^_^
![]() |
Similar Threads
- Need Web Based Contact Us Form (PHP)
- php contact form help needed plz (PHP)
- anti spam contact form (PHP)
- problems with php web form (PHP)
- PHP Contact form (PHP)
- PHP Contact Form Help (PHP)
- I need help with a form please (PHP)
Other Threads in the PHP Forum
- Previous Thread: Javascript and Ajax problem in IE
- Next Thread: Edit one line of a PHP file
Views: 426 | Replies: 5
| Thread Tools | Search this Thread |
Tag cloud for PHP
.htaccess access ajax apache api array beginner binary broken cakephp checkbox class cms code cron curl customizableitems database date directory display download dynamic echo email error file files folder form format forms forum function functions google headmethod href htaccess html image include insert integration ip java javascript joomla jquery limit link login loop mail malfunctioning menu methods mlm mod_rewrite multiple mysql oop parse paypal pdf php problem query radio random recursion regex remote script search select server sessions sms soap source space speed sql structure syntax system table tutorial update updates upload url validation validator variable video web xml youtube





