Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

email validation

Status
Not open for further replies.

vietboy505

Technical User
Feb 20, 2006
56
US
I need help on the e-mail form, can any one help me?

I want the form to check if everything is inputs correct such as an valid e-mail.

If the user choose General, it will send to general email. general@email.com. If the user choose Customer, it will send to Customer e-mail. customer@email.com. Is this have something to do with switch case?

From: Name [General or Customer]
The subject is either : General/Customer question from Name [date()]
The body is Comments, plus a timestamp.

Code:
<form name="email_form" action="<?php echo $PHP_SELF; ?>" method="post">
<input type="hidden" name="require" value="Name,Email,Purpose,Comments">
<table>
<tr>
	<td align="right">Name:</td>
	<td><input name="Name" size="25"></td>
</tr>

<tr>
	<td align="right">E-mail:</td>
	<td><input name="Email" size="25"></td>
</tr>

<tr>
	<td align="right">Purpose:</td>
	<td><select name="Purpose">
	<option value="General">General
	<option value="Customer">Customer
	</select>
	</td>
</tr>

<tr>
	<td align="right">Comments:</td>
	<td><textarea name="Comments" rows="10" cols="40"></textarea>
	</td>
</tr>

<tr>
	<td colspan="2" align="center"><input type="submit" value="Submit" name="email_form">
	<input type="reset" value="Reset" name="reset"></td>
</tr>

</table>
</form>

Thanks alot.
 
all i can see is the form itself. where is your mailer code? what errors are you getting? what debugging have you done?
 
I get the "Invalid Email" right away.


Code:
<?php 

function determineEmail($Purpose) 
{ 
    if($Purpose == "General") { 
        $mailTo="Name1 <name1@mail.com>, Name2 <name2@mail.com>"; 

    } elseif($Purpose == "Customer") { 
        $mailTo="Name2 <name2@mail.com>, Name3 <name3@mail.com>"; 
    } else { 
    //proably won't be in here 
        $mailTo="name5@mail.com"; 
    } 
} 

if(!preg_match("/^([0-9a-zA-Z]([-.w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-w] 
*[0-9a-zA-Z].)+[a-zA-Z]{2,9})$/",$_POST["Email"])) { 
//email address is invalid 
die("Invalid Email"); 
}  

if(!empty($message)){ // only send if the form has been filled out.  
  $mailHeaders="From : $Name [$Email]";   
  $mailSubject="$Purpose from $Name";   
  $mailBody="Sent by $Name ($Email) on " . date('M j,Y h:i:s') . " \n\n";   
  $mailBody.="Message : \n\n $message";   

  mail($mailTo, $mailSubject, $mailBody, $mailHeaders);  
  echo "<b>Your email has been sent!</b><br>";   
} 


echo('<form name="email_form" method="post"> 
<input type="hidden" name="require" value="Name,Email,Purpose,Comments"> 
<table> 
<tr> 
    <td align="right">Name:</td> 
    <td><input name="Name" size="25"></td> 
</tr> 

<tr> 
    <td align="right">E-mail:</td> 
    <td><input name="Email" size="25"></td> 
</tr> 

<tr> 
    <td align="right">Purpose:</td> 
    <td><select name="Purpose"> 
    <option value="General">General 
    <option value="Customer">Customer 
    </select> 
    </td> 
</tr> 

<tr> 
    <td align="right">Comments:</td> 
    <td><textarea name="Comments" rows="10" cols="40"></textarea> 
    </td> 
</tr> 

<tr> 
    <td colspan="2" align="center"><input type="submit" value="Submit" name="email_form"> 
    <input type="reset" value="Reset" name="reset"></td> 
</tr> 

</table> 
</form>'); 
?>
 
try with just the email address in the to and from bits. don't try and include the name nor the <> signs. just the email address.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top