PHP Contact form

itradio

New Member
Messages
1
Reaction score
0
Points
0
hey there, my question is about a php contact type form ive done these before and theyve worked but im trying to do it now and its only partially working. i say partially because ill fill out my form to do a test run and it sends - it arrives in my email BUT... but it says unknown sender no subject and the email body is blank.


here is the scripts i used.
_____________________________________________________________

<table width="300" border="0" align="center" cellpadding="3" cellspacing="1">
<tr>
<td><strong>Band Submission </strong></td>
</tr>
</table>

<table width="300" border="0" align="center" cellpadding="0" cellspacing="1">
<tr>
<td><form name="form1" method="post" action="http://itradio.x10hosting.com/send_contact.php">
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr>
<td width="16%">Band Name</td>
<td width="2%">:</td>
<td width="82%"><input name="subject" type="text" id="subject" size="50"></td>
</tr>
<tr>
<td>Band Site</td>
<td>:</td>
<td><textarea name="detail" cols="50" rows="1" id="detail"></textarea></td>
</tr>
<tr>
<td>Your Name</td>
<td>:</td>
<td><input name="name" type="text" id="name" size="50"></td>
</tr>
<tr>
<td>Email</td>
<td>:</td>
<td><input name="customer_mail" type="text" id="customer_mail" size="50"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td><input type="submit" name="Submit" value="Submit"> <input type="reset" name="Submit2" value="Reset"></td>
</tr>
</table>
</form>
</td>
</tr>
</table>


__________________________________________________________


<?php
// Contact subject
$subject ="$subject";
// Details
$message="$detail";

// Mail of sender
$mail_from="$customer_mail";
// From
$header="from: $name <$mail_from>";

// Enter your email address
$to ='s.hopkinsdesign@gmail.com';

$send_contact=mail($to,$subject,$message,$header);

// Check, if message sent to your email
// display message "We've recived your information"
if($send_contact){
echo "We've recived your contact information";
}
else {
echo "ERROR";
}
?>


____________________________________________

everything seems to be fine but not sure why im getting a poor outcome



Shawn
 

garrettroyce

Community Support
Community Support
Messages
5,611
Reaction score
249
Points
63
The problem is you aren't using the $_POST superglobal. The variables $name, $subject, $detail, etc are not defined. <input name="name ...> becomes $_POST['name'], etc.

You should always do some sanity checking with variables like this. Taking input from someone and putting directly into an email or database can be dangerous if they figure out how to abuse it. Using stripslashes() and isset() will help you out greatly in these situation.
 

lordskid

New Member
Messages
41
Reaction score
0
Points
0
PHP:
<?php
    // Contact subject
    $subject =$_POST["subject"];
    // Details
    $message=$_POST["detail"];
    // Mail of sender
    $mail_from=$_POST["customer_mail"];
     //.........

$send_contact=mail($to,$subject,$message,$header);

// Check, if message sent to your email
// display message "We've recived your information"
if($send_contact){
echo "We've recived your contact information";
}
else {
echo "ERROR";
}
?>

I have started adding the $_POST["..."] super global just continue and it should be working.
 
Last edited:

misson

Community Paragon
Community Support
Messages
2,572
Reaction score
72
Points
48
To add to garretroyce's suggestion, the filter functions may also be helpful verifying and sanitizing e-mail addresses.
 
Top