PDA

View Full Version : PHP Mail Form Stress


Peaceful
01-27-2009, 07:35 PM
Hi i downloaded a simple mail form on the internet which had a little tutorial on the website, i managed to get all my texfields working but now when i enter the details and click enter all i get in my email is the word Submit, i think its to do with the fact the PHP Mail form that was for download was coded for the tutorial and because i added different textfields it does not send them in the email.
Could someone help me with this code as i am having a really hard time with it for 2 days now thankyou.

PHP Mail Form:

<?php

$my_email = "mikey2150@gmail.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_v alue)){$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_o utput)){$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{$mess age_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
</center>
</div>

</body>
</html>My Webpage:

<html>
<head>
<title>Contact Form</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body {
background-color: #272727;
}
body,td,th {
color: #D6D6D6;
}
-->
</style></head>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<!-- Save for Web Slices (S&P Banner Cropped.psd) -->
<table width="1025" height="255" border="0" align="center" cellpadding="0" cellspacing="0" id="Table_01">
<tr>
<td colspan="11"><img src="images/index_01.jpg" width="1024" height="183" alt=""></td>
<td><img src="images/spacer.gif" width="1" height="183" alt=""></td>
</tr>
<tr>
<td colspan="8"><img src="images/index_02.jpg" width="800" height="1" alt=""></td>
<td rowspan="4"><a href="ContactForm.html"><img src="images/index_03.jpg" alt="" width="97" height="28" border="0"></a></td>
<td rowspan="4"><a href="contactus.html"><img src="images/index_04.jpg" alt="" width="100" height="28" border="0"></a></td>
<td rowspan="5"><img src="images/index_05.jpg" width="27" height="72" alt=""></td>
<td><img src="images/spacer.gif" width="1" height="1" alt=""></td>
</tr>
<tr>
<td rowspan="4"><img src="images/index_06.jpg" width="285" height="71" alt=""></td>
<td rowspan="2"><a href="index.html"><img src="images/index_07.jpg" alt="" width="80" height="26" border="0"></a></td>
<td rowspan="4"><img src="images/index_08.jpg" width="1" height="71" alt=""></td>
<td rowspan="2"><a href="whoweare.html"><img src="images/index_09.jpg" alt="" width="124" height="26" border="0"></a></td>
<td colspan="4"><img src="images/index_10.jpg" width="310" height="1" alt=""></td>
<td><img src="images/spacer.gif" width="1" height="1" alt=""></td>
</tr>
<tr>
<td rowspan="3"><img src="images/index_11.jpg" width="1" height="70" alt=""></td>
<td><a href="whatwedo.html"><img src="images/index_12.jpg" alt="" width="125" height="25" border="0"></a></td>
<td><a href="workshop.html"><img src="images/index_13.jpg" alt="" width="98" height="25" border="0"></a></td>
<td rowspan="2"><a href="schools.html"><img src="images/index_14.jpg" alt="" width="86" height="26" border="0"></a></td>
<td><img src="images/spacer.gif" width="1" height="25" alt=""></td>
</tr>
<tr>
<td rowspan="2"><img src="images/index_15.jpg" width="80" height="45" alt=""></td>
<td rowspan="2"><img src="images/index_16.jpg" width="124" height="45" alt=""></td>
<td colspan="2" rowspan="2"><img src="images/index_17.jpg" width="223" height="45" alt=""></td>
<td><img src="images/spacer.gif" width="1" height="1" alt=""></td>
</tr>
<tr>
<td colspan="3"><img src="images/index_18.jpg" width="283" height="44" alt=""></td>
<td><img src="images/spacer.gif" width="1" height="44" alt=""></td>
</tr>
</table>
<table width="1024" height="772" border="0" align="center">
<tr>
<th height="768" align="left" valign="top" background="Source Files/BG.png" scope="col"><table width="200" border="0">
<tr>
<th scope="col"><img src="Source Files/register.png" width="247" height="68"></th>
</tr>
</table>
<blockquote>
<table width="300" border="0" align="center">
<tr>
<th scope="col">Send us the details and we will be sure to get back to you. </th>
</tr>
</table>
<table width="377" height="412" border="0" align="center">
<tr>
<th align="center" valign="top" scope="col"><form action="FormToEmail.php" method="post" name="ContactForm" id="ContactForm">
<p>
<label>Name</label>
</p>
<p>
<label>
<input type="text" name="Name" id="Name">
</label>
</p>
</form>
<form action="FormToEmail.php" method="post" name="ContactForm" id="ContactForm">
<p>
<label>Email</label>
</p>
<p>
<label>
<input type="text" name="Email" id="Email">
</label>
</p>
</form>
<form action="FormToEmail.php" method="post" name="ContactForm" id="ContactForm">
<p>
<label>School</label>
</p>
<p>
<label>
<input type="text" name="School" id="School">
</label>
</p>
</form>
<form action="FormToEmail.php" method="post" name="ContactForm" id="ContactForm"><label>Year<br>
<br>
</label>
<label>
<input type="text" name="Year" id="Year">
</label>
</form>
<form action="FormToEmail.php" method="post" name="ContactForm" id="ContactForm">
<p>
<label>Phone</label>
</p>
<p>
<label>
<input type="text" name="Phone" id="Phone">
</label>
</p>
</form>
<form action="FormToEmail.php" method="post" name="Submit" id="Submit">
<label>
<input type="submit" name="Submit" id="Submit" value="Submit">
</label>
</form>
<p>&nbsp;</p></th>
</tr>
</table>
</blockquote></th>
</tr>
</table>
<!-- End Save for Web Slices -->
</body>
</html>

urbanrays
01-27-2009, 08:34 PM
Hi
From what I can see you have about 7 forms into 1 here

Your first line of the form should be
<form name="ContactForm" method="post" action="FormtoEMail.php">
<input name="name" type="text" id="name" />
<input name="email" type="text" id="email" />
</form>

You keep setting up new forms and closing them just keep all your text boxes in one form.
This is what yon need to do to start with and if you are having trouble with the php then a fella on here called davidj i think is a guru with php.

urbanrays
01-27-2009, 08:44 PM
sorry forgot to mention you need to also put your label tags in

Corrosive
01-27-2009, 10:00 PM
a fella on here called davidj i think is a guru with php.

Did he pay you to say that?

davidj
01-27-2009, 10:08 PM
have a look at the tutorial on here

its a more simplified version which works

*** 10 in the post ***

urbanrays
01-27-2009, 10:39 PM
Did he pay you to say that?

your just jealous, is it because I aint given you a foot rub