重定向至提交数据后的两个页面之一,具体取决于当前的URL

时间:2021-06-19 作者:dblupcee

这是关于功能的。php文件。

我有一个带有两个链接的主页,可以将数据输入此表单(再融资)或该表单(购买)。两种形式都有相同的字段,只有一个问题不同。

本网站用于购房和再融资贷款,因此这两种形式之间的区别是;你家的价值是什么"E;对于再融资和;你想借多少钱"E;用于购买选项。这两种类型的选项值都是相同的,我只是将事务类型写入数据库,作为区分这两种类型事务的一种方法。

我的代码用于将数据插入数据库。提交后,我只想问,当交易来自再融资表单/url时,如何重定向到再融资感谢页面(报价感谢再融资),以及如何重定向到购买交易的感谢页面(报价感谢购买/)。

上面列出的页面中没有显示完整的URL,仅足以区分这两种形式。

我有以下重定向:

window.location = "quote-thank-you-purchase/";
这对购买很好。如何根据页面当前所在的URL创建一个开关或if/then语句,以根据哪种交易类型重定向到正确的感谢页面?

这是我使用重定向提交的表单(由于明显的原因,域已被删除):

函数submit\\u form(){ob\\u start();全局$wpdb;

$form_data = $wpdb->insert("wp_h_p", array(
\'salesprice\' => $_POST[\'salesprice\'],
\'loan_amount\' => $_POST[\'loan_amount\'],
\'income\' => $_POST[\'income\'],
\'fName\'  => $_POST[\'fName\'],
\'lName\'  => $_POST[\'lName\'],
\'property_street\'   => $_POST[\'property_street\'],
\'property_city\' => $_POST[\'property_city\'],
\'property_state\' => $_POST[\'property_state\'],
\'property_zipcode\' => $_POST[\'property_zipcode\'],
\'primary_phone\'  => $_POST[\'primary_phone\'],
\'email\'   => $_POST[\'email\'],
\'ip\' => $_SERVER[\'REMOTE_ADDR\'],
\'formurl\' => $_SERVER[\'REQUEST_URI\'],
\'user_message\' => $_POST[\'user_message\'],
));
if($form_data) {
?>
<script>
window.location = "https:///quote-thank-you-purchase/";
</script>
<?php
} else {
$message = \'<div class="alert alert-error">There is an error adding the new record.  </div>\';
}
<?php
<script>
if ( window.history.replaceState ) {
window.history.replaceState( null, null, window.location.href );
}
</script>
<?php
return ob_get_clean();
}

add_shortcode(\'form_submit\', \'submit_form\');
提前谢谢你。

2 个回复
SO网友:tiago calado

使用此

header("Location: http://example.com/myOtherPage.php");
die();
这会将页面重定向到我们放在那里的任何链接,如果我们想根据是一个还是另一个来选择,可以在if语句中使用它。我只是没有把代码放在这里,因为我没有完全理解上面的代码。。。,但我会这样做

SO网友:Fluent-Themes

我假设您有两个不同的页面模板用于这两个不同的感谢页面(报价感谢您再融资和报价感谢您购买)。假设您的页面模板存在于主题的根文件夹中,名称为“thank you reforef”。php和“感谢您购买”。php’。现在在函数中添加以下代码。php文件:

function ft_is_thankyou_purchase() {
    if( is_page_template( \'thank-you-purchase.php\' ) ) { //replace \'thank-you-purchase.php\' with your template file name. If your page template resides within a directory, you should use something like this: \'directory-name/thank-you-purchase.php\'.
        return true; //thank-you-purchase.php is in use
    } else {
        return false; //thank-you-purchase.php is not in use
    }
}
最后编辑您的submit_form() 函数的if($form_data) 条件如下:

if($form_data) {
    if( ft_is_thankyou_purchase() ) { ?>
        <script>
        window.location = "https:///quote-thank-you-purchase/";
        </script>
<?php } else { ?>
        <script>
        window.location = "https:///quote-thank-you-refinance/";
        </script>
<?php } //end ft_is_thankyou_purchase condition
}
上有几篇文章FluentThemes.com 关于使用页面模板条件确定我们所在的页面。如果您需要更多关于这方面的详细信息,可以查看更多示例代码。

相关推荐

WP_safe_redirect not working

而不是Divi主题中的项目档案/project_category/[category name]/ 我想让他们去/portfolios/#[category name].我修改了以下代码this question 并将其添加到我的孩子主题中functions.php 文件function my_category_redirect() { if ( is_category( ) ) { $category = get_queried_object();