Jump to content

php Mail() function not working for me.. please help


Design

Recommended Posts

Here's my script:
[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=iso-8859-1" />
<title>GSmash Tournament registration</title>
</head>
<body>

<?php
// Check to make sure that the user isnt spamming people via the form:
function spamcheck($field){
  if(eregi("to:", $field) || eregi("cc:", $field) || eregi(";", $field)){
      return true;
  }

  else{
      return false;
  }
}

function checkType(){
  if($_POST['type1'] == true && $_POST['type2'] == false){
      $type = 1;
  }

  elseif($_POST['type1'] == false && $_POST['type2'] == true){
      $type = 2;
  }

  elseif($_POST['type1'] == false && $_POST['type2'] == false){
      echo "<font color='red'>ERROR: You must select a tournament type.</font>";
  }

  else{
      $type = 3;
  }

return $type;
}
//Make sure the form is filled out:
if(isset($_POST['email'])){
  //check if the email address is invalid
  $mailcheck = spamcheck($_POST['email']);

  if((bool)$mailcheck == true){
      echo "Sorry, the e-mail you have entered is invalid, please re-enter it.";
  }

  else{
      //send email if the e-mail is valid
      $email = $_POST['email'];
      $subject = "Smash Entry For: " . $_POST['name'];
      $type = checkType();
      $message = $_POST['sname'] . ", " . $_POST['char'] . ", " . $type;
      mail("Linkmaster424@aol.com", "Subject: " . $subject, $message, "From: " . $email . "\r\n");
      echo "Thanks for your entry!  Your data will be sent to the tournament staff.";
  }
}

else{
?>
  <h1 align="center">Glenwood SSBM Tournament Form</h1>
  <hr />
  <br />
  <h3 align="center">Fill out the form and click the &quot;Send&quot; button.</h3>
  <form method="post" action="http://smash.neogamerz.com">
  Email: <input type="text" name="email" /><br />
  Name: <input type="text" name="name" /><br />
  Smash Name: <input type="text" name="sname" max=4 min=1 size=16><br />
  Character: <input type="text" name="char" /><br />
  Entry Type(select at least one):<br />
  One on One:<input type="checkbox" name="type1"><br />
  Teams:<input type="checkbox" name="type2"><br />
  <input type='submit' value='send' />
  </form>

  <p><em>Note: In order to join the tournament, you will be required to pay an entry fee
  of $5.00 upon entry. &nbsp;This is mandatory for both teams and singles,
  meaning that if you are on a team, you AND your partner will need to pay the entry fee,
  totalling ten dollars. &nbsp;The same goes if you were to enter in both tournaments, you
  would have to pay a fee of ten dollars(five for each tournament).</em></p>
  <br />

  <p><font size="2">&copy;2006 By Tristan Nolan.</font></p>

<?php
}
?>
</body>
</html>
[/code]

I've got the script working, but it's not mailing me the form data when you press submit.
Link to comment
Share on other sites

why dont you try this:
[code]else{
//send email if the e-mail is valid
      $email = $_POST['email'];
      $name = $_POST['name];
      $char = $_POST['char'];
      $to = "Linkmaster424@aol.com";
      $subject = "Smash Entry For: $name";
      $type = checkType();
      $message = "$name, $char, $type";
      $headers = "From: $email";
      mail($to, $subject, $message, $headers);
      echo "Thanks for your entry!  Your data will be sent to the tournament staff.";
   }]
[/code]
I think that should do it... sorry if its incorrect but i usually never get a chance to help people since im very new to this too lol.. but this is something that i have learned!
Link to comment
Share on other sites

sorry i made a mistake.. i forgot the '' on one of the variables.. try this and tell me if you get another error
[code][/code]else{
//send email if the e-mail is valid
      $email = $_POST['email'];
      $name = $_POST['name'];
      $char = $_POST['char'];
      $to = "Linkmaster424@aol.com";
      $subject = "Smash Entry For: $name";
      $type = checkType();
      $message = "$name, $char, $type";
      $headers = "From: $email";
      mail($to, $subject, $message, $headers);
      echo "Thanks for your entry!  Your data will be sent to the tournament staff.";
  }]
Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.