使用php设置cookie并在相同页面加载时使用javascript(hide)执行操作

时间:2014-07-02 08:18:17

标签: javascript php jquery cookies

我想要的是:当semeone在referer中使用'page21'访问我的页面时设置一个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后开始工作并隐藏该类。我想在一个页面加载中执行此操作。

  1. 如果我把这段代码放在标题中,它只适用于访问者来自的第一页。如果存在cookie,为什么不在其他页面中工作。抱歉英文不好。

1 个答案:

答案 0 :(得分:0)

你不能在一个页面加载&#34;因为setcookie发送的cookie只能在下一页加载时访问。请参阅manual

<强>更新

虽然您无法在服务器端执行此类操作,但您可以通过document.cookie(在普通JS中)或通过jquery.cookie插件在客户端读取cookie的写入值