我在这里尝试将联系表单值发送到电子邮件ID。我发布了contact.php页面代码。我在同一页面上完成了服务器端验证。验证成功完成后,应重定向到email.php页面。我该怎么办?
Contact.php
<?php
$errname = "";
$errmotorcycle = "";
//some codes
if($_POST["contacts"] == "all")
{
// name validation
if(empty($_POST["name"]))
{
$errname = '<span class="error">Should not be empty</span>';
}
else if(preg_match("/^[a-zA-Z ]+$/", $_POST["name"]) === 0)
{
$errname = '<span class="error">Name must be from letters and spaces only</span>';
}
else
{
$errname = '';
}
// motorcycle validation
if($_POST["typeofmotor"] == "empty")
{
$errmotorcycle = '<span class="error">You must select one option</span>';
}
//some codes
}
?>
<html>
<head><title></title></head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" >
<input type="hidden" name="contacts" value="all" />
<table width="980" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="281" height="40" class="rightalign">Name : </td>
<td width="268"><input type="text" name="name" class="normal" value="<?php $_POST['name']; ?>" /></td>
<td width="431" valign="middle"><?php if(isset($errname)) echo $errname; ?></td>
</tr>
//some codes
</table>
</form>
</body>
</html>
答案 0 :(得分:0)
发送电子邮件后,您可以像这样重定向浏览器:
<?php
header('Location: http://www.example.com/email.php');
die();
?>
如果您选择该解决方案,请注意,只有在将任何内容发送到浏览器之前,才能发送标题。
答案 1 :(得分:0)
您也无法重定向到另一个脚本并使用POST变量,因为重定向后它们将丢失。您可以包含email.php脚本:
<?php
include( dirname( __FILE__ ) . "/email.php");