我有下一个功能(联系表格,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标签上。
答案 0 :(得分:0)
您的header("Location: /thank_you/");
您是否检查过路径是否存在?
或重定向到无存在文件夹“thank_you”。
如果您的文件夹“thank_you不在当前页面位置
,您可以尝试此操作 header("Location: ../thank_you/");
答案 1 :(得分:0)
您可以尝试以下方法:
../
作为父目录。答案 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/");