6 Replies - 7740 Views - Last Post: 12 April 2012 - 11:28 PM

#1 GermanOnslaught  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 2
  • Joined: 12-April 12

HTML Submit Button Doesn't Work

Posted 12 April 2012 - 06:48 PM

I'm about to pull my hair out trying to figure this out. I am making a website for a fitness company and I am working on a very BASIC contact form. I have been using Dreamweaver for this, if that makes any difference.

When I am on the website and try clicking the submit button it doesn't even look like it clicked it. Nothing happens. I have a FormToEmail.php and a ContactForm.html.

Here is the ContactForm.html code.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Contact Form</title>
</head>

<body>

<form action="FormtoEmail.php" method="post" name="ContactForm"></form>

<label>Name:</label>
<input name="name" type="text" />
<br>
<label>Email:</label>
<input name="emai" type="text" />
<br>
<label>Comments:</label>
<br>
<textarea name="comments" cols="50" rows="10"></textarea>
<br>
<input name="Submit" type="button" value="Submit" onclick="validate" />



</body>
</html>



This is the FormToEmail.php code:
<?php

$my_email = "MY EMAIL IS NOT FOR YOU (erased this on purpose!)";

/*

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">
</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>


Is This A Good Question/Topic? 0
  • +

Replies To: HTML Submit Button Doesn't Work

#2 no2pencil  Icon User is offline

  • Admiral Fancy Pants
  • member icon

Reputation: 5363
  • View blog
  • Posts: 27,325
  • Joined: 10-May 07

Re: HTML Submit Button Doesn't Work

Posted 12 April 2012 - 06:51 PM

I believe the idea is to change this variable in the php code :

Quote

$my_email = "MY EMAIL IS NOT FOR YOU (erased this on purpose!)";


Also, where is this launching from?

Quote

mail($my_email,$subject,$message,$headers);


If this is hosting with a web hosting company, do they allow you mail traffic? If it is self hosted, does your isp allow mail traffic? Most isps block port 25 which is required to send email.
Was This Post Helpful? 0
  • +
  • -

#3 GermanOnslaught  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 2
  • Joined: 12-April 12

Re: HTML Submit Button Doesn't Work

Posted 12 April 2012 - 06:54 PM

View Postno2pencil, on 12 April 2012 - 06:51 PM, said:

I believe the idea is to change this variable in the php code :

Quote

$my_email = "MY EMAIL IS NOT FOR YOU (erased this on purpose!)";


Also, where is this launching from?

Quote

mail($my_email,$subject,$message,$headers);


If this is hosting with a web hosting company, do they allow you mail traffic? If it is self hosted, does your isp allow mail traffic? Most isps block port 25 which is required to send email.


I literally just changed the $my_email = "MY EMAIL IS NOT FOR YOU (erased this on purpose!)";
So people wouldn't get my email from my question.

I am using hostgator.com as a web hosting company.

As for the question where is it launching from, I have no idea how to answer that. lol :[
Was This Post Helpful? 0
  • +
  • -

#4 no2pencil  Icon User is offline

  • Admiral Fancy Pants
  • member icon

Reputation: 5363
  • View blog
  • Posts: 27,325
  • Joined: 10-May 07

Re: HTML Submit Button Doesn't Work

Posted 12 April 2012 - 06:57 PM

I would suggest contacting their customer support. There doesn't appear to be anything incorrect in the html or the php code.
Was This Post Helpful? 0
  • +
  • -

#5 rajesh.kakawat  Icon User is offline

  • New D.I.C Head

Reputation: 5
  • View blog
  • Posts: 43
  • Joined: 03-January 11

Re: HTML Submit Button Doesn't Work

Posted 12 April 2012 - 10:02 PM

you should use type = submit not button
Change this line of code
<input name="Submit" type="button" value="Submit" onclick="validate" />


to
<input name="Submit" type="submit" value="Submit" onclick="validate" />


Was This Post Helpful? 0
  • +
  • -

#6 Dormilich  Icon User is offline

  • 痛覚残留
  • member icon

Reputation: 3554
  • View blog
  • Posts: 10,332
  • Joined: 08-June 10

Re: HTML Submit Button Doesn't Work

Posted 12 April 2012 - 10:28 PM

one step forward, but 2 things left
- the from tag is immediately closed, i.e. all form elements are outside the form and thus not submitted (as well as the form itself is not submitted due to not having a submit button)
- onclick="validate" does nothing. it is just mentioning that there is a variable named validate. if that’s supposed to be function, add parentheses to actually run it.
Was This Post Helpful? 0
  • +
  • -

#7 Macjohn  Icon User is offline

  • D.I.C Regular
  • member icon

Reputation: 80
  • View blog
  • Posts: 407
  • Joined: 10-April 09

Re: HTML Submit Button Doesn't Work

Posted 12 April 2012 - 11:28 PM

Try using your FORM like this:



<form action="FormtoEmail.php" method="post" name="ContactForm">

<label>Name:</label>
<input name="name" type="text" />
<br>
<label>Email:</label>
<input name="email" type="text" />
<br>
<label>Comments:</label>
<br>
<textarea name="comments" cols="50" rows="10"></textarea>
<br>
<input name="Submit" type="submit" value="Submit" />

</form>


Was This Post Helpful? 0
  • +
  • -

Page 1 of 1