在PHP中基于会话隐藏div

时间:2018-12-28 14:34:00

标签: php html session

当打开网站主页时,我有一个包含滑块的div。我试图实现的是,当首次打开网站时,应该会出现滑块。但是,如果用户转到除主页之外的其他页面,然后再次返回到该主页,则不应出现滑块。

以下是我要实现的代码:

<div class="homeslidermain" style="display:<?php echo empty($_SESSION['first_load']) ? 'block' : 'none'; ?>"> 
<?php putRevSlider("typewriter-effect", "homepage") ?>
</div>

4 个答案:

答案 0 :(得分:0)

您可以尝试这样的事情

1188-1188 = 0.0000
1188-1186.437500 = 1.5625
1188-1183.312500 = 4.6875

答案 1 :(得分:0)

有几种方法可以实现,最好是检查用户是否是首次访问页面

session_start();
if(!isset($_SESSION['first_load']))
{
   $_SESSION['first_load'] = '1';
}
if(empty($_SESSION['first_load']))
{?>
   <div> 
    Slider block //  this block loads only is first load is empty
   </div>

<?php
}?>

答案 2 :(得分:0)

推荐的方法是使用setcookie()getcookie()http://php.net/manual/de/features.cookies.php)设置cookie。

如果要使用会话,则设置错误的“ first_load”。确保在任何页面调用中:

session_start(); // before you do anything else 

if(!isset($_SESSION['first_load'])) // set it to true on first load

...,在其他情况下为false。

这可能会出错的唯一原因是如果您重新初始化会话错误。切换页面后,请确保您仍在同一会话中。

答案 3 :(得分:0)

无需将div输出为display:none。仅在用户首次访问主页时才输出div。使用setcookie()函数可以记住该用户已经访问过他的主页,但是请注意,您应该在输出任何信息之前调用此函数。

<?php

if (empty($_COOKIE['homepage_visited'])) {
    // Remember the first visit for one year
    setcookie('homepage_visited', 1, strtotime('+1 year'));

    // Show the slider
    echo '<div class="homeslidermain">';
    putRevSlider("typewriter-effect", "homepage");
    echo '</div>';
}