【发布时间】:2014-02-20 17:09:22
【问题描述】:
我对 php 很陌生,不能完全弄清楚这有什么问题。任何帮助,将不胜感激。此外,如果有一种方法可以测试是我还是我的托管服务不允许我发送电子邮件,这将是有益的。所以,如果我有办法做到这一点,请告诉我。
<?php
session_start();
$visitor_email = '';
$user_message = '';
//Validates the email address that the user entered
function spamcheck($field)
{
// Sanitize e-mail address
$field=filter_var($field, FILTER_SANITIZE_EMAIL);
// Validate e-mail address
if(filter_var($field, FILTER_VALIDATE_EMAIL))
{
return TRUE;
}
else
{
return FALSE;
}
}
//When user clicks 'submit'
if (!isset($_POST['submit']))
{
$visitor_email = $_POST['email'];
$user_message = $_POST['message'];
//if user entered email address
if (isset($_POST['email']))
{
// Check if email address is valid
$mailcheck = spamcheck($visitor_email);
if ($mailcheck==FALSE)
{
echo "Invalid input";
}
else
{
$to = "example@yahoo.com";
$subject="Customer Feedback";
$from = $visitor_email;
$ip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '';
$body = "A patron submitted the contact form:\n".
"Email: $visitor_email \n".
"Message: \n ".
"$user_message\n".
"IP: $ip\n";
$headers = "From: $from \r\n";
$headers .= "Reply-To: $visitor_email \r\n";
mail($to, $subject, $body,$headers);
header('Location: home.html');
}
}
}
?>
<form id="feedBackForm" action="<?php echo htmlentities($_SERVER['PHP_SELF'])?>" method="post">
<fieldset id="personal">
<legend>Your Information</legend>
<label for="email">Contact Email: </label>
<input id="email" name="email" type="email" value='<?php echo htmlentities($visitor_email) ?>'/>
</fieldset>
<fieldset id="text">
<legend>Message:</legend>
<label for="message"></label>
<textarea id="message" name="message"><?php echo htmlentities($user_message) ?></textarea>
</fieldset><p><input type="submit" value="Submit" name="submit"/>
<input type="reset" value="Reset"/>
</p>
</form>
我已经尝试了几次不同的迭代,而这正是我目前所处的位置
【问题讨论】:
-
真正的问题是什么?什么不起作用?您收到任何错误消息吗?
-
这个
if (!isset($_POST['submit']))你告诉它“如果它没有设置,......”你想要if(isset($_POST['submit'])) -
@Fred-ii- 你应该发布一个答案。
-
发生的一切似乎都没什么。页面刚刚重新加载。
-
@Fulmetal5 如果当前的答案不能解决你的问题,你应该从检查
mail()的返回值开始。