我如何只为每个用户显示一次php页面

时间:2011-03-20 07:58:54

标签: php cookies session-timeout session-cookies

嗨我有一个php页面,我希望每个用户只显示一次。

我认为这可能与cookie,会话超时或会话cookie有关。

但我不确定。

感谢您的善意:)

3 个答案:

答案 0 :(得分:4)

你回答了自己的问题 - 设置了一个cookie。

// check if they've been here, if they haven't set
// a cookie for subsequent visits
if($_COOKIE['beenhere']) { 
    setcookie("beenhere", '1');
}
else {
    // where you want them to go if they've seen this page
    header('Location: http://www.example.com/');

了解更多信息:

如果您希望单个用户再次看到该页面,则必须设置cookie的过期时间(请参阅上面的链接页面),因为关闭浏览器将消除我在上面设置的cookie。

答案 1 :(得分:2)

要为每个用户会话显示一次页面,您可以尝试以下

// mypage.php

if(!isset($_SESSION['mypage_view'])
{
     $_SESSION['mypage_view'] = 1;   
} else {
     //check if this is not the first time the page has been viewed
     if(isset($_SESSION['mypage_view'])) {
      //not first time redirect
      header('location: google.com');
      session_write_close();
      exit();
     }
}

答案 2 :(得分:0)

您也可以使用会话

if($_SESSION['sessioned_here'] == null) {
    // just been on this page
} else {
    // visited already. get out

}