显示内容,sest会话。会议结束后显示内容再次等... PHP

时间:2014-03-04 23:24:14

标签: php session splash-screen

我知道这很简单,但我无法让它发挥作用。 我想向访问网站和设置会话的任何用户显示一次内容,会话存在,内容隐藏,会话结束后,内容apears和会话再次设置半小时。

if(!isset($_SESSION["timeout"])){
     $_SESSION['timeout'] = time();
};
$st = $_SESSION['timeout'] + (30 * 60); 

if(time() > $st){
    ?>
    <div class="promotion" id="hide">
        <span class="closead"  onclick ="javascript:ShowHide('hide')" ></span>
        <div class="promotion_bg">
            <h2>Hello!</h2>
            <p>Blah blah blah</p>
        </div>
        <span class="promotion_btn" onclick="location.href='register.php';">
            Register!
        </span>
    </div>
    <?php 
     $_SESSION['timeout'] = time() + (30 * 60);
}
?>

所以我尝试做调试,并附带这样的代码。

    <?php
if(isset($_SESSION['timeout'])){
    if(time() > $_SESSION['timeout']){
        echo '<h1>Unsetting session</h1>';
            session_unset($_SESSION['timeout']);
    }
}
echo $_SESSION['timeout'];
if(!isset($_SESSION['timeout'])){
    echo '<h1>Session is not set</h1>';
     $_SESSION['timeout'] = time() + 60;
}
?>

而我的思绪我正在挣扎,这不值得,它的验证是否可行 !如果它产生错误Notice: Undefined variable: _SESSION in D:\xampp\htdocs\...\test.php on line 9

,则为isset part

当我试图回应它时,只需回应它。

2 个答案:

答案 0 :(得分:0)

if(!isset($_SESSION['promotion'])){
    ?>
    <div class="promotion" id="hide">
        <span class="closead"  onclick ="javascript:ShowHide('hide')" ></span>
        <div class="promotion_bg">
            <h2>Hello!</h2>
            <p>Blah blah blah</p>
        </div>
        <span class="promotion_btn" onclick="location.href='register.php';">
            Register!
        </span>
    </div>
    <?php 
    $_SESSION['promotion'] = 1;
}
?>

答案 1 :(得分:0)

您的代码适合我!当会话存在时,当会话结束时,内容被隐藏一秒,然后再次设置会话。但第一次内容展示是在半小时之后。

确保会话已经开始。在代码的顶部,您需要调用

  session_start();