显示成功消息,清除发布数据并在同一页面上重定向

时间:2015-09-26 10:31:37

标签: javascript php jquery

我有一个网页。我有联系表格。 我想要的是在提交表单之后它应该在同一页面上重定向并显示成功消息(消息应该在几秒后淡出)并且表单的发布数据应该是清楚的。在表格中,我也在检查验证码和发送邮件。

if(md5($_POST['vcode']).'a4xn' == $_COOKIE['tntcon'])
    {
        $msg="message";

        $to      = 'test@gmail.com';
        $subject = 'subject';
        $message = $msg;
        $headers  = "MIME-Version: 1.0\r\n";
        $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
        $headers .="From: ".$_POST['email']." \r\n";

        $mail=mail($to, $subject, $message, $headers);
        if($mail==true)
        {
            echo '<script>$("#deletesuccess").fadeIn();$("#deletesuccess").delay(4000).fadeOut();window.location="index.php";</script>';
          //here i want to redirect on same page with clear post data and display success message.
        }
    }
    else
    {
        echo '<script type="text/javascript">document.getElementById("disp_wrong_code").style.display="inline";</script>';
         // This is verification code error.
    }

这是自定义的php页面。

1 个答案:

答案 0 :(得分:2)

对于重定向,您可以使用header功能。要在页面加载之间存储数据,请使用$_SESSION。一些简化的例子:

session_start();
if ($can_do_post)
{
    // do some actions here
    $mail=mail($to, $subject, $message, $headers);

    if ($mail==true) {
        // set SESSION to know that it's success result
        $_SESSION['form_filled'] = true;
        // redirect to the same page
        header("Location: /script.php");
        die();
    }
}
else
{ 
    // no post data here
    // check session:
    if (isset($_SESSION['form_filled']) && $_SESSION['form_filled']) {
        echo '<script>$("#deletesuccess").fadeIn();$("#deletesuccess").delay(4000).fadeOut();window.location="index.php";</script>';
    }
}