检测链接是在新标签页或窗口中打开还是直接访问URL

时间:2013-05-07 19:05:35

标签: php

我想知道是否有人知道如何实现这一点。

我有一个index.php,它使用jQuery将文件page.php加载到div中。这个page.php有一个链接,当你点击它时会将page2.php加载到同一个div中(所以url总是保持为index.php)。

我想这样做,如果你在新的标签页或窗口中打开page.php上的链接,而不是加载page2.php,它会加载index.php(在div中使用page.php)。如果您直接在浏览器中输入指向page2.php的链接,则相同。

3 个答案:

答案 0 :(得分:0)

使用会话。

第1页:

session_start();
$_SESSION['beenhere'] = 1;
第2页

session_start();
if(!isset($_SESSION['beenhere'])){
    header('./index.php');
}
//rest of page....

答案 1 :(得分:0)

这是“在新标签页中打开”部分

<强>的index.php

<a href="index.php" onclick="javascript:$('#myDiv').load('page2.php');return false;">Link</a>
<div id="myDiv"></div>

如果用户将直接链接写入页面,也可以使用它只是检查第2页是否有引用,如果不是只发送给index.php

<强>使page2.php

if ($_SERVER['HTTP_REFERER']!="index.php"){
    header("Location: http://www.example.com/index.php");
}

答案 2 :(得分:-1)

在index.php上设置一个全局变量,如果在加载page.php时不存在,则重定向到index.php。