功能成功后重定向到感谢页面

时间:2014-06-25 09:02:55

标签: javascript php jquery html

我有下一个功能(联系表格,php):

function wp_ajax_contact_cb() {
global $_GET;
// security and parsing


if (! key_exists ( 'name', $_GET )){
    echo 'fail';
    die (); // bad request
}
$name = wp_kses_data ($_GET ['name']);
if (strlen($name)==0) {
    echo 'fail';
    die (); // bad request
}

$phone = wp_kses_data ($_GET ['phone']);
if (strlen($phone)==0) {
    echo 'fail';
    die (); // bad request
}


$mail = wp_kses_data ($_GET ['mail']);



//$email=get_option('atdgen_contactemail');
$email='aaaa@aaaa.com';

add_filter('wp_mail_content_type',create_function('', 'return "text/html";'));
$contentfp= '<br/>Name:<br/>'.$name.
            ' <br/>Email: <br/>'.$mail.
            ' <br/>  Telephone number: <br/>'.$phone;

$contentfp=apply_filters('comment_moderation_text',$contentfp );
echo apply_filters('comment_moderation_headers', '');
@wp_mail($email,'new messeage-'.$name, $contentfp, apply_filters('comment_moderation_headers', ''));


echo 'success';

    header("Location: /thank_you/"); /* Redirect browser */

die();


     }

HTML代码

        <div class="form_holder">
            <div class="cont_row flr">
                <input class="fll field1" id="fname"  />
                                        <label class="fll lb_inp nrkm" for="fname">שם*</label>

            </div>
            <div class="cont_row flr">
                <input class="fll field1" id="phone"  />
                                        <label class="fll lb_inp nrkm" for="phone">טלפון*</label>

            </div>
            <div class="cont_row flr">
                <input class="fll field1" id="mail"  />
                                        <label class="fll lb_inp nrkm" for="mail">דוא"ל</label>

            </div>  
            <div class="cont_row flr">
                <div class="fr all" id="cont_rep_msg"
                                        data-please_check_your_phone="טלפון יכול להיות רק מספרים, ולפחות 9 ספרות"                                               
                                        data-mandatory_not_full="כל השדות חובה"
                                        data-ajaxing="שולח... אנא המתן"
                                        data-success="ההודעה נשלחה אנו ניצור קשר בקרוב"
                                        data-fail="השליחה נכשלה, אנא נסה/י במועד מאוחד יותר , או צור/צרי קשר טלפונית"
                                        data-verifymail="אנא וודא/י את תקינות כתובת המייל"
                                        class="all"
                                        ></div>

            </div>  
            <div class="cont_row flr">

            <div id="sendmsg" class="sprite send fll" onClick="_gaq.push(['_trackEvent', 'forms', 'send', 'contactpage']);"></div>
            <div class="note flr">
            * שדות חובה למילוי

            </div>

            </div>  
                        <div class="flc"></div>

        </div>

我尝试将header("Location: /thank_you/"); /* Redirect browser */添加到代码中,但表单是&#34; error&#34;。只有当我删除header()函数时,它才能正常工作。

如何在发送功能后重定向?也许在jquery的html上? 表格不在&#34;形式&#34;标签,它在div标签上。

4 个答案:

答案 0 :(得分:0)

您的header("Location: /thank_you/");

您是否检查过路径是否存在?

或重定向到无存在文件夹“thank_you”。

如果您的文件夹“thank_you不在当前页面位置

,您可以尝试此操作
  header("Location: ../thank_you/");

答案 1 :(得分:0)

您可以尝试以下方法:

  1. 检查thank_you是否在同一目录中。
  2. 如果不在同一目录中,则给出合适目录的位置。使用../作为父目录。
  3. 我没有看到你的thank_you文件的扩展名。尝试给予该扩展。
  4. 最后也是最重要的事情。位置后的空格会产生问题。有一天它让我生病了。因此,请仔细检查空格和语法。
  5. 尝试在标题
  6. 中使用单引号

答案 2 :(得分:0)

您可能想尝试两件事:

1)在回声“成功”之前运行标题(&#34;位置:/ thank_you /&#34;)当你输出内容并在之后添加HTTP响应标题时,它就无法工作。

2)检查重定向路径以确保其存在。 (示例:创建一个单独的php文件,然后运行带有路径的标题行,看它是否重定向到路径,或者它可能比感谢页面端点是thank_you.html或thank_you.php而且路由/ thank_you不是在应用程序或Web服务器重写规则中定义)

答案 3 :(得分:0)

首先尝试在标题之前调用以下行(“/ thank_you /”);

ob_clean();

如果它不起作用,

试试这个:

http_redirect("/thank_you/");