【发布时间】:2016-04-22 03:31:38
【问题描述】:
我正在尝试为客户创建一个简单的电子邮件表单,但无法将 <textarea> 作为消息发送。到目前为止,我已经尝试了所有我发现的东西,但没有任何东西可以正常工作......
这是我的代码:
<h4>Email Al</h4>
<table>
<form name="contactForm" id="contact" action="send_form_email.php" method="post">
<tr>
<td>
<label>Name:</label>
<input type="text" name="name">
</td>
<td>
<label>Email Address:</label>
<input type="email" name="email">
</td>
</tr>
<tr>
<td colspan="2">
<label>Website (if Available):</label>
<input type="text" name="website">
</td>
</tr>
<tr>
<td colspan="2">
<label>Your Message:</label></br>
<textarea for="" name="information" width="100%" rows="10" form="contactForm"></textarea>
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="Send Message">
</td>
</tr>
</form>
</table>
即index.php文件中的表格,下面是邮件send-email.php
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$website = $_POST['website'];
$message = $_POST['information'];
$email_from = 'myemail@gmail.com';
$email_subject = $name . " has sent you a message!";
$email_body = "You have received a new message from " . $name . " via your website!\n".
"Name:\n $name\n".
"Email:\n $email\n".
"Website:\n $website\n".
"Message:\n $message\n".
$to = "clientemail@gmail.com";
$headers = "From: $email_from \r\n";
$headers .= "Reply-To: $visitor_email \r\n";
mail($to,$email_subject,$email_body,$headers);
function IsInjected($str)
{
$injections = array('(\n+)',
'(\r+)',
'(\t+)',
'(%0A+)',
'(%0D+)',
'(%08+)',
'(%09+)'
);
$inject = join('|', $injections);
$inject = "/$inject/i";
if(preg_match($inject,$str))
{
return true;
}
else
{
return false;
}
}
if(IsInjected($visitor_email))
{
echo "Bad email value!";
exit;
}
?>
<?php
header("Location: /formsubmitted.php"); /* Redirect browser */
exit();
?>
如果有人知道为什么会出现故障,我也很想知道!这是我自己创建的第一个消息/电子邮件 php 函数之一,因为我通常为 wordpress 开发,所以我通常会为我的客户端安装一个插件。
【问题讨论】:
-
“没有任何工作正常” - 请解释什么不工作。会报错吗?
-
没有错误。它只是不发送那个 '
-
顺便说一句,您的 HTML 格式不正确。表格应该在表格内,而不是相反。
标签: php email textarea message