验证成功完成后重定向到email.php页面

时间:2014-01-30 12:34:48

标签: php

我在这里尝试将联系表单值发送到电子邮件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>

2 个答案:

答案 0 :(得分:0)

发送电子邮件后,您可以像这样重定向浏览器:

<?php
header('Location: http://www.example.com/email.php');
die();
?>

如果您选择该解决方案,请注意,只有在将任何内容发送到浏览器之前,才能发送标题。

答案 1 :(得分:0)

您也无法重定向到另一个脚本并使用POST变量,因为重定向后它们将丢失。您可以包含email.php脚本:

<?php
include( dirname( __FILE__ ) . "/email.php");