如何只允许Wordpress中的表单访问页面

时间:2017-07-13 20:45:13

标签: php wordpress url

我在wordpress中有一个页面,有一个表单,用户传递电子邮件和名称。注册完成后,我将在MailChimp中捕获您的数据,在我的情况下,并将其重定向到另一个页面,该页面可以访问模拟,例如。

但是,我想通过我描述的表单访问此重定向页面。

我不希望能够直接在重定向页面的地址中输入网址。示例:domain.com.br/simulado

如果他这样做,他会再次进入家中,或者其他什么。无论如何,这个限制怎么办?

2 个答案:

答案 0 :(得分:1)

在表单中添加:

.axml

然后在你的锁定页面中:

<?php
$_SESSION['keyphrase'] = substr( md5(rand()), 0, 20)
?>
<input type="hidden" name="keyphrase" value="<?php echo $_SESSION['keyphrase"; ?>">

答案 1 :(得分:1)

首先您需要在WordPress上启用PHP会话,将以下内容添加到您的主题functions.php

function start_session() {
    if(!session_id()) {
        session_start();
    }
}

add_action('init', 'start_session', 1);

接下来您需要挂钩联系表单7并设置$_SESSION变量授权查看重定向页面,我们将使用挂钩{{1 }}

wpcf7_mail_sent
在您的重定向页面上

最后,我们需要检查授权。最简单的方法是为您的页面设置一个自定义PHP文件,即function set_session_auth(){ $_SESSION["auth"] = "authorized"; } add_action('wpcf7_mail_sent', 'set_session_auth'); ,其中包含:

page-siumulado.php

请记住这会在联系表单7发送邮件时随时设置if(isset($_SESSION["auth"]) && $_SESSION["auth"] == "authorized"){ //Output your page content } else { echo "Sorry you do not have authorization to view this page."; //or something to that effect. } 变量,因此如果您将其用于其他表单,他们也会解锁该页面。您可能需要设置一些条件。