【问题标题】:Wordpress - Only allow page to be shown after form is submittedWordpress - 仅允许在提交表单后显示页面
【发布时间】:2011-06-18 05:50:13
【问题描述】:
我在 WordPress 安装中有两个页面 - 一个带有 MailChimp 注册表单,然后是第二个页面,其中显示了用户在完成 MailChimp 注册表单后收到的感谢消息。
现在,感谢页面只是一个普通的 WordPress 页面。虽然导航中没有指向它的链接,但如果您有 URL,则可以直接访问该页面。
但是,我需要使这个页面无法访问,除非提交注册表单,并且我还需要确保该页面无法刷新。我该怎么做呢?
【问题讨论】:
标签:
php
wordpress
forms
mailchimp
【解决方案1】:
把它放在你的页面顶部。
首页上的表单操作必须是“谢谢”页面。
<from method="POST" action="page2.php">
Your form input.
<input type="submit" name="submit" />
</form>
第 2 页:
if(!isset($_POST['submit'])){
echo('You hacker!');
}else{
// Rest of the page
?>
<html> etc.
thank you bla bla....
<?php
}
【解决方案2】:
使用来自 $_SERVER 变量的引荐来源网址。
在您的感谢页面中,输入类似这样的内容
if ($_SERVER['HTTP_REFERER'] == 'mailchimp_host') {
echo 'Thank - you ';
....
}
else {
echo "Not authorized to view this page";
}
用正在订阅用户的 mailchimp 服务器的真实主机名替换 mailchimp_host。日志文件见!