Php 用于弹出处理的Cookies
我想做一个网站,每24小时为每个独特的用户弹出一次。为此,我使用bPopup和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://
<?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具有真正的价值。谢谢!基于此,我可以解决这个问题。