大家好,我是php新手,也许我的问题太简单了
但我想知道是否有办法将打开www.example.com/page.php的用户重定向到www.example.com
但是,如果他们试图从www.example.com打开页面,则不会重定向,页面将完全加载
实际上,我的主页上有一个from,上面有一个按钮,当用户单击该按钮时,他们会进入www.example.com/page.php
但我不希望用户在不点击按钮的情况下访问www.example.com/page.php
有人能给我看一个php代码的例子吗?
一种方法是在page.php上使用条件语句来检查数据是否已发布(按钮的值)。
代码看起来像-
<?php
if ( (!isset($_POST)) && ($_POST['buttonName'] != 'postedButtonValue' )){
header('Location: http://www.example.com');
exit();
}
// continue script below...
?>
您可以在此处执行多项操作:
选项1:在主页上设置一个小PHP脚本,将会话变量设置为true,例如:<?php $_SESSION['cameFromHomepage'] = true; ?>
然后,当有人加载页面时,查找该会话变量并检查它是否为true,甚至设置为以开头,如果为true,则继续,否则重定向到主页。
选项2:使用cookie,这与选项一的想法相同,但您使用的不是会话cookie。
至于为什么你希望你的用户来自主页,可能有更多的选择,比如使用这样的GET参数:$_GET['cameFromHomePage']
,但这意味着一旦有人对现在看起来像这样的url进行书签:
www.example.com/page.php?cameFromHomePage=真实
他或她可以使用这个链接访问page.php,它将始终有效。
会话更安全,因为除了你之外没有人可以编辑它们,cookie很好,但根据你在哪里操作,由于隐私法,你可能需要显示cookie警告,如果只是"一次性",则需要显示get请求
如果你详细说明为什么你希望你的用户首先浏览主页,我可以编辑我的答案,帮助你选择最佳选项。