我想要的:当有人访问我的页面'page21'在referer设置一个cookie。如果这个cookie已经存在或者现在设置了,我想隐藏特定的类(.hide_phone)
<?php
if(!isset($_COOKIE["Numar"]))
{
if(isset($_SERVER['HTTP_REFERER'])) {
$referer=$_SERVER["HTTP_REFERER"];
if (strpos($referer,'page21') !== false) {
setcookie("Numar","1", time()+3600*24, "/", "mywebsite.com");
}}}
?>
<?php if(isset($_COOKIE["Numar"])) :?>
<script type="text/javascript">
$(document).ready(function(){
$('.hide_phone').hide();
});
</script>
<?php endif;?>
为什么不工作?我设置cookie,但在一次刷新后,javascript开始工作并隐藏该类。我想在一个页面加载中完成这个。
- 如果我把这段代码在头,它只工作在第一页,访问者来自。为什么不工作在其他页面,如果cookie存在。对不起,我的英语不好。
您不能"在一个页面加载中完成此操作",因为setcookie
发送的cookie只能在下一次页面加载时访问。参见手册。
更新:
虽然你不能在服务器端做这样的事情,你可以在客户端通过document.cookie
(在纯JS中)或jquery读取cookie的写入值。饼干插件