Php 用于弹出处理的Cookies

Php 用于弹出处理的Cookies,php,jquery,cookies,bpopup,Php,Jquery,Cookies,Bpopup,我想做一个网站,每24小时为每个独特的用户弹出一次。为此,我使用bPopup和cookies。我已经尝试了很多东西,现在我有点“迷失”在代码中。你能帮我让它按预期的方式工作吗 守则: <?php if (!isset($_COOKIE["Seen"])){ if ($_COOKIE['Seen'] != 'true') { setcookie('Seen', 'false'); } } ?> <script type="text/javascript" src="http://

我想做一个网站,每24小时为每个独特的用户弹出一次。为此,我使用bPopup和cookies。我已经尝试了很多东西,现在我有点“迷失”在代码中。你能帮我让它按预期的方式工作吗

守则:

<?php
if (!isset($_COOKIE["Seen"])){
if ($_COOKIE['Seen'] != 'true') {
setcookie('Seen', 'false');
}
}
?>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"> </script>
<script type="text/javascript" src="js/popup.js"> </script>
<LINK REL=StyleSheet HREF="style/style.css" TYPE="text/css" MEDIA=screen>


<html>
        <head>  </head>
        <body>
<!-- Element to pop up -->

<div <?php if(isset($_COOKIE["Seen"])) {
                    if ($_COOKIE['Seen'] == 'true') {echo 'style="all:none; visibility:hidden; display:none">';}
                    else {
                    echo ' id="element_to_pop_up">';
                    $value = 'true';
                    $expire = time()+60*60*24; 
                    setcookie('Seen', $value, $expire);
                    }
    }               
                     ?> 

    <a href="#"class="b-close" style="position:absolute; margin-top:5px; margin-left:550px;"><img src="./image/close.png"><a/>
    <iframe frameBorder="0" name="iFrame" width="600" height="500" src="welcome.php" scrolling="no"></iframe>

</div>

        </body>
    </html>

试试这段代码。您不需要检查两次cookie是否已设置,因为您在顶部对此进行了说明,并将其设置为false。如果未设置或(出于某种原因)它不是“true”,则此代码将其设置为false。然后,在中途,它只需要检查它是否是真的

最好只为每个条件打开一个单独的开始div,否则很快就会变得非常混乱和草率

<?php
if (!isset($_COOKIE['Seen']) || $_COOKIE['Seen'] != 'true') {
    setcookie('Seen', 'false');
}
?>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"> </script>
<script type="text/javascript" src="js/popup.js"> </script>
<LINK REL=StyleSheet HREF="style/style.css" TYPE="text/css" MEDIA=screen>


<html>
<head>  </head>
<body>
<!-- Element to pop up -->

<?php
if ($_COOKIE['Seen'] == 'true') {echo '<div style="all:none; visibility:hidden; display:none">';}
else {
    echo '<div id="element_to_pop_up">';
    $value = 'true';
    $expire = time()+60*60*24;
    setcookie('Seen', $value, $expire);
}
?>

<a href="#"class="b-close" style="position:absolute; margin-top:5px; margin-left:550px;"><img src="./image/close.png"><a/>
    <iframe frameBorder="0" name="iFrame" width="600" height="500" src="welcome.php" scrolling="no"></iframe>

    </div>

</body>
</html>

像这样的东西怎么样:

if(!isset($_COOKIE['popup']))
{
    setcookie('popup', time());
    echo '<script>alert(\'Here is your daily cookie :)\');</script>';
}
else
{
    if((time() - $_COOKIE['popup']) > (60*60*24))
    {
        setcookie('popup', time());
        echo '<script>alert(\'I see you enjoy our cookies, thanks for returning :)\');</script>';        
    }
}
if(!isset($\u COOKIE['popup']))
{
setcookie('popup',time());
echo“提醒(\'这是你的日常饼干:)\');”;
}
其他的
{
如果((time()-$_COOKIE['popup'])>(60*60*24))
{
setcookie('popup',time());
echo'alert(\'我看到你喜欢我们的饼干,谢谢你回来:)\';';
}
}

哪个部分不工作?cookie检查的if语句或echos应该有问题。如果我第一次加载页面,整个内容将显示为没有样式,这是不好的,因为它应该显示为id=“element\u to\u pop\u”标记,这样看起来就像它应该是什么样子。看到的cookie有假值,这是好的。在第二次加载时,cookie已经有了真值,这是好的,但是id=“element\u to\u pop\u”似乎是不应该出现的。样式已删除,这很好。对于第三次装载,一切正常。没有显示任何内容,cookie具有真正的价值。谢谢!基于此,我可以解决这个问题。