我正在尝试为Wordpress网站创建联系表单。仅供参考:客户希望表单是静态的,以便将来不需要更改它。我在网上找到了这个表格。我把它放在Wordpress的自定义页面中。我还在我的服务器上放了一个mail.php文件。当我点击提交时,它将我劫持到我的主页/主题页面,我的消息从未发送过。我不明白为什么我要向我致敬,以及如何解决这个问题。
<table width="400" border="0" align="center" cellpadding="3" cellspacing="1">
<tr>
<td><strong>Contact Form </strong></td>
</tr>
</table>
<table width="400" border="0" align="center" cellpadding="0" cellspacing="1">
<tr>
<td><form name="form1" method="post" action="mail.php">
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr>
<td width="16%">Subject</td>
<td width="2%">:</td>
<td width="82%"><input name="subject" type="text" id="subject" size="50"></td>
</tr>
<tr>
<td>Detail</td>
<td>:</td>
<td><textarea name="detail" cols="50" rows="4" id="detail"></textarea></td>
</tr>
<tr>
<td>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> </td>
<td> </td>
<td><input type="submit" name="Submit" value="Submit"> <input type="reset" name="Submit2" value="Reset"></td>
</tr>
</table>
</form>
</td>
</tr>
</table>
Mail.php
<?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 ='someone@somewhere.com';
$mail=mail($to,$subject,$message,$header);
// Check, if message sent to your email
// display message "We've recived your information"
if($mail){
echo "We've recived your contact information";
}
else {
echo "ERROR";
}
?>
答案 0 :(得分:0)
这是最简单的形式,可以注射..
$subject ="write something here";
// Details
$message = "write something here";
// Mail of sender
$mail_from = $_POST['customer_mail'];
// From
$header="fromfrom: yourname <yourdomain@yourdomain.con>";
// Enter your email address
$to ='$mail_from';
然后将其余代码放在其后..
编辑:
$subject = $_POST['details'];
// Mail of sender
$mail_from = $_POST['customer_mail'];
// From
$name = $_POST['name'];
// Details
$message = 'E-mail sent from: '.$mail_from.'\r\nName: '.$nane.'\r\n'.$_POST['details'];
// Enter your email address
$to ='yourdomain@yourdomain.com';
$mail=mail($to,$subject,$message);
最终编辑:
<?
if (isset($_POST['customer_mail'])) {
$subject = $_POST['detail'];
// Mail of sender
$mail_from = $_POST['customer_mail'];
// From
$name = $_POST['name'];
// Details
$message = 'E-mail sent from: '.$mail_from.'\r\nName: '.$name.'\r\n'.$_POST['detail'];
// Enter your email address
$to ='yourdomain@yourdomain.com'; //edit this
$mail=mail($to,$subject,$message);
echo "Your mail has been sent";
} else {
?>
<table width="400" border="0" align="center" cellpadding="3" cellspacing="1">
<tr>
<td><strong>Contact Form </strong></td>
</tr>
</table>
<table width="400" border="0" align="center" cellpadding="0" cellspacing="1">
<tr>
<td>
<form name="form1" method="post" action="<? echo $_SERVER['PHP_SELF']; ?>">
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr>
<td width="16%">Subject</td>
<td width="2%">:</td>
<td width="82%">
<input name="subject" type="text" id="subject" size="50">
</td>
</tr>
<tr>
<td>Detail</td>
<td>:</td>
<td>
<textarea name="detail" cols="50" rows="4" id="detail"></textarea>
</td>
</tr>
<tr>
<td>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> </td>
<td> </td>
<td>
<input type="submit" name="Submit" value="Submit">
<input type="reset" name="Submit2" value="Reset">
</td>
</tr>
</table>
</form>
</td>
</tr>
</table>
<?
}
?>