表格'提交'按钮总是以错误结束

时间:2015-04-22 15:10:34

标签: php html forms

我使用this sample by CSS-Tricks创建了一个简单的联系表单。在我自定义contactthanks.php页面(确认成功提交表单)之前,它工作得很好。现在,每当用户点击“提交”时,都会将其重定向到错误页面。

实时网页:alookat.org/contact.html(随意测试表单)。

以下是contactengine.php在我编辑之后破坏了东西。我删除了电话输入并将其替换为网站。我也重新调整了输入。

<?php

$EmailFrom = "info@example.com";
$EmailTo = "my.personal.email.was.here.for.testing@gmail.com";
$Subject = "Thanks for contacting us";
$Name = Trim(stripslashes($_POST['Name']));  
$Email = Trim(stripslashes($_POST['Email'])); 
$Website = Trim(stripslashes($_POST['Website']));
$Message = Trim(stripslashes($_POST['Message'])); 

// validation
$validationOK=true;
if (!$validationOK) {
  print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
  exit;
}

// prepare email body text
$Body = "";
$Body .= "Name: ";
$Body .= $Name;
$Body .= "\n";
$Body .= "Email: ";
$Body .= $Email;
$Body .= "\n";
$Body .= "Website: ";
$Body .= $Website;
$Body .= "\n";
$Body .= "Message: ";
$Body .= $Message;
$Body .= "\n";

// send email 
$success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>");

// redirect to success page 
if ($success){
  print "<meta http-equiv=\"refresh\" content=\"0;URL=php\contactthanks.php\">";
}
else{
  print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
}
?>

感谢您的帮助。谢谢你的阅读。

1 个答案:

答案 0 :(得分:2)

使用

<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";

将用户移动到新页面是一种非常讨厌的方式。

您使用的是PHP,因此请改用header()函数。

header('Location: php/contactthanks.php');
exit;

这样你只需发送一个标题,告诉浏览器转到另一个页面,而不是整个html页面。

您可以在使用<meta http-equiv...>标记

的所有3个地方使用此功能