Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

FormToEmail is not validating the fields

Guest
Feb 16, 2011 Feb 16, 2011

Hi all

iam newto contact form n php downloaded FormToEmail.php from dreamweaverspot.

The issue is email is working even if i submit blank form.

my page link http://fagencomputers.com/contact.html.

Can anyone help me how to validate the form using php?

thanks in advance,

naveen

here is the php script

<?php

$my_email = "info@fagencomputers.com";

/*

Enter the continue link to offer the user after the form is sent.  If you do not change this, your visitor will be given a continue link to your homepage.

If you do change it, remove the "/" symbol below and replace with the name of the page to link to, eg: "mypage.htm" or "http://www.elsewhere.com/page.htm"

*/

$continue = "/";

/*

Step 3:

Save this file (FormToEmail.php) and upload it together with your webpage containing the form to your webspace.  IMPORTANT - The file name is case sensitive!  You must save it exactly as it is named above!  Do not put this script in your cgi-bin directory (folder) it may not work from there.

THAT'S IT, FINISHED!

You do not need to make any changes below this line.

*/

$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;} recursive_array_check_header($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">
<style type="text/css">
<!--
.thanks {
    text-align:center;
    margin-right: auto;
    margin-left: auto;
    font-family: Geneva, Arial, Helvetica, sans-serif;
    font-size: 14px;
    color: #333333;
    width: 475px;
    margin-top: 290px;
    margin-bottom: 0px;
    border-top-style: none;
    border-right-style: none;
    border-bottom-style: none;
    border-left-style: none;
    font-weight: normal;
}
body {
    background-image: url(../images/01-main-copy.jpg);
    background-repeat: no-repeat;
    background-position: center top;
    background-color: #B7E4F9;
}
a:link {
    color: #0066CC;
    text-decoration: none;
}
a:visited {
    text-decoration: none;
    color: #006699;
}
a:hover {
    text-decoration: underline;
    color: #FF6600;
}
a:active {
    text-decoration: none;
}
.style3 {
    color: #0066CC;
    font-weight: bold;
}
.logo {
    color: #0066CC;
    font-weight: bold;
    float: left;
}
.text {
    float: right;
    padding-top: 20px;
    padding-right: 20px;
    padding-bottom: 20px;
    padding-left: 20px;
    font-weight: normal;
}
-->
</style>
</head>

<body text="#000000">

<div class="thanks">
<div class="logo"><b><a href="<?php print $continue; ?>"><img src="../images/logo.png" alt="fagen" width="216" height="86" border="0"></a><br>
</div>
<center>
<div class="text">
Thank you <?php print stripslashes($_REQUEST['name']); ?>
<br>
Your message has been sent
<p class="style3"><a href="<?php print $continue; ?>"><strong>Click here to continue</strong></a></p>
</div>
</center>

</div>

</body>
</html>

TOPICS
Server side applications
596
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guest
Feb 22, 2011 Feb 22, 2011

Hi All,

Thanks for reading my post,

I found a very cool javascript called gen_validatorv4 to validate the formtoemail.php

check this link.

http://www.javascript-coder.com/html-form/form-validation.phtml

thanks again

naveen

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guide ,
Feb 22, 2011 Feb 22, 2011
LATEST

It seems that you are not aware of the fact that any javascript-based form validation is pretty much useless when used as solitary method -- all I´d need to do to outsmart this precaution is to disable javascript in my browser.

The only acceptable FormToEmail php script needs to be something that makes use of native PHP methods to validate the form fields and returns error messages if e.g. a required field is empty. If this script comes with an additional javascript-based layer of protection, that´s cool -- but this would be a bonus, not the main point.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines