如何防止/阻止直接访问”
谢谢”
页面, 仅在重定向而不是替代表单(在另一个页面中)时才能访问?
我应该在下一个链接的哪里插入此方法提及
https://wordpress.stackexchange.com/questions/290234/prevent-block-direct-access-to-a-thank-you-page/290237
add_action('template_redirect', function(){
if ( ! is_page(12345)) {// ID of the thank you page
return;
}
if (wp_get_referer() == 'URL_OF_FORM') {// coming from the form, so all is fine
return;
}// we are on thank you page
// visitor is not coming from form
// so redirect to home
wp_redirect( get_home_url() );
}
非常感谢!
#1假设你的第一页是page1.php, 其中包含以下代码
<
form action="page2.php" method="post">
<
input type="text" name="blabla">
<
input type="submit">
<
/form>
现在, 当用户输入表单值时, 它将重定向到page2.php, 在这里你将转到下面的代码, 以查看用户是否已通过表单或输入了链接。你可以通过php中的isset()实现此目的
<
?php
if(isset($_POST['blabla']))
{
//process your code
}
else
{
echo "Session Expired<
br>
";
echo "Click <
a href='http://www.srcmini.com/page1.php'>
here<
/a>
to fill the form";
}
?>
#2只需在” 谢谢” 页面的顶部添加以下代码即可。这是满足你要求的最高效, 最紧凑的代码。
<
?php
if(empty($_POST)):
wp_redirect( home_url() );
exit;
endif;
?>
【阻止/阻塞直接访问” 谢谢” 页面】注意:wp_redirect()不会自动退出。始终使用出口;在wp_redirect()函数之后。
推荐阅读
- 上一页和下一页排除显示的页面数量
- 通过[…] WordPress开发在post中发布文本
- 将meta发布到具有多行的自定义字段! -WordPress的
- 在WordPress中的文章post的问题
- 使用Ajax在循环中填充表单字段
- 占位符图片wordpress
- PHP WordPress,此函数有什么作用()
- php wp_head(); (函数不包括来自functions.php的函数)
- 5 款可替代 du 命令的工具!