Ok I dont understand why my php form keeps sending me blank emails. Because I have a checker with java script. Did I do something wrong in my coding with the php forms or is it just the javascript on the sites problem?
Here is the php form code:
<script language="JavaScript">
function checkForm()
{
var cname, caddress, cphone, cemail, ccontact;
with(window.document.msgform)
{
cname = name;
caddress = address;
cphone = phone;
cemail = email;
ccontact = contact;
}
if(trim(cname.value) == '')
{
alert('Please enter your name');
cname.focus();
return false;
}
else if(trim(caddress.value) == '')
{
alert('Please enter your address');
cemail.focus();
return false;
}
else if(trim(cphone.value) == '')
{
alert('Please enter your phone number');
cemail.focus();
return false;
}
else if(!isEmail(trim(cemail.value)))
{
alert('Email address is not valid');
cemail.focus();
return false;
}
else if(trim(ccontact.value) == '')
{
alert('Please enter your contact person');
cemail.focus();
return false;
}
else
{
cname.value = trim(cname.value);
caddress.value = trim(caddress.value);
cphone.value = trim(cphone.value);
cemail.value = trim(cemail.value);
ccontact.value = trim(ccontact.value);
return true;
}
}
/*
Strip whitespace from the beginning and end of a string
Input : a string
*/
function trim(str)
{
return str.replace(/^\s+|\s+$/g,'');
}
/*
Check if a string is in valid email format.
Returns true if valid, false otherwise.
*/
function isEmail(str)
{
var regex = /^[-_.a-z0-9]+@(([-a-z0-9]+\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i;
//regex = /^[-_.abcdefghijklmnopqrstuvwxyz0123456789]+@(([-abcdefghijklmnopqrstuvwxyz0123456789]+\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i;
return regex.test(str);
}
</script>
<form name="msgform" action="thankyou.php" method="post" >
<table width="95%" border="0" cellspacing="1" class="tablestyle" cellpadding="1" align="center">
<tr><td>Name:</td>
<td><input type="text" name="name" size="27">
</td>
</tr>
<tr><td>Address:</td>
<td><input type="text" name="address" size="27">
</td>
</tr>
<tr>
<td>Phone: </td>
<td>
<input type="text" name="phone" size="27">
</td>
</tr>
<tr>
<td>Email: </td>
<td>
<input type="text" name="email" size="27">
</td>
</tr>
<tr>
<td>Contact Person: </td>
<td>
<input type="text" name="contact" size="27">
</td>
</tr>
<tr>
<td valign=top>I would like to participate at the: </td>
<td valign=top>
<input type="radio" name="level" value="5000">Platinum<BR>
<input type="radio" name="level" value="2500">Gold<BR>
<input type="radio" name="level" value="1000">Silver<br>
<input type="radio" name="level" value="500">Bronze <br><br>
</td>
</tr>
<tr>
<td>
<input type="radio" name="level" value="1250"option5<br>
</td>
</tr>
<tr><td colspan="2"><input type="submit" value="submit" name="submit" onClick="return checkForm();"><input type="reset" value="Reset"></td></tr>
</table></form>
Here is the php process code:
<?php
$con = mysql_connect(""); //Replace with your actual MySQL DB Username and Password
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("sponsorship", $con); //Replace with your MySQL DB Name
$name=mysql_real_escape_string($_POST['name']); //This value has to be the same as in the HTML form file
$address=mysql_real_escape_string($_POST['address']); //This value has to be the same as in the HTML form file
$phone=mysql_real_escape_string($_POST['phone']); //This value has to be the same as in the HTML form file
$email=mysql_real_escape_string($_POST['email']); //This value has to be the same as in the HTML form file
$contact=mysql_real_escape_string($_POST['contact']); //This value has to be the same as in the HTML form file
$level=mysql_real_escape_string($_POST['level']); //This value has to be the same as in the HTML form file
$sql="INSERT INTO sponsorship (name,address,phone,email,contact,level) VALUES ('$name','$address','$phone','$email','$contact','$level')"; /*form_data is the name of the MySQL table where the form data will be saved.
name and email are the respective table fields*/
if (!mysql_query($sql,$con)) {
die('Error: ' . mysql_error());
}
?>
<?php
$name = $_POST["name"];
$address = $_POST["address"];
$phone = $_POST["phone"];
$email = $_POST["email"];
$contact = $_POST["contact"];
$level = $_POST["level"];
echo "Name: ". $name . " <br />";
echo "Address: ". $address . " <br />";
echo "Phone: ". $phone . " <br />";
echo "Email: ". $email . " <br />";
echo "Contact: ". $contact . " <br />";
echo "Level: ". $level . " and up. <br />";
$recipient = "my email";
$subject = " subject ";
$message = "
'. name: .'$name
'. contact: .' $contact
'. address: .' $address
'. phone: .' $phone
'. email: .' $email
'. level: .' $level
";
mail($recipient, $subject, $message);
?>
i keep thinking its the javascript fault but i have a navigation menu which is made from javascript and it works fine. So it leaves me to think its something i did wrong with the form or php?
Can someone help me please? Thank you!