View Full Version : form To E-mail Help

07-10-2007, 04:41 PM
Hey guyz,

I Know nothing about php, but im trying to get my form to function.

I used a php script that i got off of FormToEmail.com And my host is freehostia.com (im using there free package)

this is the site: http://www.web-perfect.org/contact.htm

HTML At start of form:

<form id="two" action="FormToEmail.php" method="post">

The php file



Thank you for choosing FormToEmail by FormToEmail.com

Version 2.2 July 1st 2007

COPYRIGHT FormToEmail.com 2003 - 2007

You are not permitted to sell this script, but you can use it, copy it or distribute it, providing that you do not delete this copyright notice, and you do not remove any reference to FormToEmail.com

For support, please visit: http://formtoemail.com/support/

You can get the Pro version of this script here: http://formtoemail.com/formtoemail_pro_version.php

FormToEmail-Pro (Pro version) Features:

Check for required fields.
Attach file uploads.
Photo CAPTCHA system.
Check for a set cookie.
HTML output option.
CSV output to attachment or file.
Show sender's IP address.
Block IP addresses.
Block web addresses or rude words.
Block gobbledegook characters ( etc).
Auto redirect to "Thank You" page.
No branding.
Use on multiple sites.



FormToEmail is a contact-form processing script written in PHP. It allows you to place a form on your website which your visitors can fill out and send to you. The contents of the form are sent to the email address (or addresses) which you specify below. The form allows your visitors to enter their name, email address and comments. The script will not allow a blank form to be sent.

Your visitors (and nasty spambots!) cannot see your email address. The script cannot be hijacked by spammers.

When the form is sent, your visitor will get a confirmation of this on the screen, and will be given a link to continue to your homepage, or other page if you specify it.

Should you need the facility, you can add additional fields to your form, which this script will also process without making any additional changes to the script. You can also use it to process other forms. The script will handle the "POST" or "GET" methods. It will also handle multiple select inputs and multiple check box inputs. If using these, you must name the field as an array using square brackets, like so: <select name="fruit[]" multiple>. The same goes for check boxes if you are using more than one with the same name, like so: <input type="checkbox" name="fruit[]" value="apple">Apple<input type="checkbox" name="fruit[]" value="orange">Orange<input type="checkbox" name="fruit[]" value="banana">Banana

** PLEASE NOTE ** If you are using the script to process your own forms (or older FormToEmail forms) you must ensure that the email field is named correctly in your form, thus: <input type="text" name="email" etc>. Note the lower case "email". If you don't do this, you won't be able to see who the email is from and the script won't be able to check the validity of the email. If you are using the form code below, you don't need to check for this.

This is a PHP script. In order for it to run, you must have PHP (version 4.1.0 or later) on your webhosting account, and have the PHP mail() function enabled and working. If you are not sure about this, please ask your webhost about it.


Step 1: Put the form on your webpage
Step 2: Enter your email address and (optional) continue link below
Step 3: Upload the files to your webspace

Step 1:

To put the form on your webpage, copy the code below as it is, and paste it into your webpage:

<form action="FormToEmail.php" method="post">
<table border="0" bgcolor="#ececec" cellspacing="5">
<tr><td>Name</td><td><input type="text" size="30" name="name"></td></tr>
<tr><td>Email address</td><td><input type="text" size="30" name="email"></td></tr>
<tr><td valign="top">Comments</td><td><textarea name="comments" rows="6" cols="30"></textarea></td></tr>
<tr><td>&nbsp;</td><td><input type="submit" value="Send"><font face="arial" size="1">&nbsp;&nbsp;<a href="http://FormToEmail.com">Form Processor</a> by FormToEmail.com</font></td></tr>

Step 2:

Enter your email address.

Enter the email address below to send the contents of the form to. You can enter more than one email address separated by commas, like so: $my_email = "bob@example.com,sales@example.co.uk,jane@example.com";


$my_email = "johnthewebguy@hotmail.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 = "http://www.web-perfect.org";


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.


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;}}

foreach($element_value as $value){if($set){break;} recursive_array_check_header($value);}




if($set){$errors[] = "You cannot send an email header";}


// Validate name field.

if(isset($_REQUEST['name']) && !empty($_REQUEST['name']))

if(preg_match("/[^a-z' -]/i",stripslashes($_REQUEST['name']))){$errors[] = "You have entered an invalid character in the name field";}


// 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 || substr_count($exploded_email[1],".") > 3){$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 $key => $value){if($key == 0){if(strlen($value) > 63 || !preg_match('/^[a-z0-9-]+$/i',$value)){$errors[] = "Email address is invalid"; break;}}elseif(strlen($value) > 6 || !preg_match('/^[a-z0-9]+$/i',$value)){$errors[] = "Email address is invalid"; break;}}}}}}


// Remove leading whitespace from all values.

function recursive_array_check(&$element_value)

if(!is_array($element_value)){$element_value = ltrim($element_value);}

foreach($element_value as $key => $value){$element_value[$key] = recursive_array_check($value);}


return $element_value;



// 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;}}

foreach($element_value as $value){if($set){break;} recursive_array_check_blank($value);}




if(!$set){$errors[] = "You cannot send a blank form";}


// 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."Thank you for using FormToEmail from http://FormToEmail.com";

$message = stripslashes($message);

$subject = "FormToEmail Comments";

$headers = "From: " . $_REQUEST['email'];



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">


<title>Form To Email PHP script from FormToEmail.com</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<body bgcolor="#ffffff" text="#000000">

<b>Sorry, We Our Currently Fixing this feature <?php print stripslashes($_REQUEST['name']); ?></b>
<br>Your message has not been sent
<p><a href="<?php print $continue; ?>">Click here to continue</a></p>


07-10-2007, 07:26 PM
Unfortunately freehostia doesn't allow members on the free hosting packages to send out mail using php. You would need to find a different host that supports the mail() function.

07-10-2007, 07:36 PM
You know if any of these host will let me use the mail function for free?

200MB Disk Space
5GB Monthly Traffic
2 Domains Hosting
5 Subdomains
Free DNS Server
1 MySQL Database
FTP/FrontPage Access
5 POP3/IMAP E-mails
FREE Account Setup
Web-based File Manager

Instant Account Activation
Free Personalized Web Address: yourname.sitesled.com
250MB Disk Storage
1 Gig/Day Bandwidth w/ Usage Stats
Fast and Reliable FTP access
Uploaded Flies Are Immediately Available
Online File Manager
Browser Based HTML Editor
Detailed Visitor Stats
No Max File Upload Restrictions
Support from HonestNetworks.com
Inclusion in Member Directory
We Do Not Sell User Information
Perfect for Blogging, PhotoAlbums, etc

Unlimited Bandwidth
Unlimited Webspace
Domain Hosting

Totally FREE - NO ADS
60 MB Free Hosting
1 Free E-mail Address
1 Free FTP Account
Web-based File Manager
Intergrated HTML Editor

PHP & Perl enabled
1 MySQL database
10 MB MySQL DB space
Data storage: 250 MB
Monthly bandwidth: 5 GB
Hosting for 2 domains

2 GB (2000 MB) web space
10 MB max file size upload limit
MySQL Database (v5.0)
PHP v5.1.4
Shockwave & Flash
XML support
SSI support
ImageMagick support
Total CGI and Perl scripts support (.cgi, .pl)
Python support (TorrentFlux not allowed!)
FrontPage Extensions
DOM XML support

50 MB Free Web Hosting
Free UNLIMITED Traffic
Free Domain Hosting
Free Subdomain Hosting
Free DNS Server
Free FTP Hosting Account
Free POP3 Email Account
Instant Account SetUp
Web Based File Manager
Easy to use Control Panel
Reliable RAID Backups
Stable Hosting Platform
Super Fast Servers
Reliable Data Center
Ultra Fast Network
99.8% Uptime Guarantee
24x7 Network Monitoring
Host Unlimited Web Sites

5,000 MB disk space (5 GB)
10,000 MB transfer (10 GB Bandwidth)
20 MB file size limit (compare to 500kb by most other hosts!)
FREE Counters!
A fast, friendly tech support team
Easy to use Pagebuilder/HTML editor
FTP or browser-based file manager
Blazing fast & reliable 99.9% uptime on Dual Xeon servers!
Instant activation
Clean text ads - No ugly pop ups on your sites!
And Much, Much More!

1 Domain Hosted
100 MB Data Storage
3 GB Data Transfer
5 Subdomains
1 MySQL Database
5 MB MySQL Space
FTP Access
POP3/IMAP E-mail (No SMTP)
24/7 Technical Support
Small Banner Ad

07-10-2007, 07:49 PM
Awardspace doesn't.
Sitesled doean't allow php.
Hostultra has ads.
I'm not sure about 50webs, you may have to email them.
110mb might let you but you might have to have to activate it first through the control panel.
Atspace doesn't support php.
0moola doesn't support php.
Not sure about 100webspace, you may have to email them asking if they support the php mail function.

07-10-2007, 08:00 PM
Much Thanks man:) :thumbsup:

07-10-2007, 08:50 PM
one more thing,
is there anyway i can accomplish my goal of getting form info sent to my e-mail with only using html/css?

07-10-2007, 09:15 PM
You could but its not reliable as it requires the user to have an email application like Outlook setup properly to send email. Plus you open yourself up to spam because you would need to use mailto: in the form action.