要记住和重定向的Cookie

问题描述:

这可能是一个复杂的问题,但我需要做的事情与您访问制造商网站时看到的国家/地区选择页面非常相似 - 那些询问您来自哪里的人以及然后选择你被送到适当的网站,说美国版本或西班牙语版本。我已经看到这些用弹出式窗口或影子盒完成,这是首选。所以......要记住和重定向的Cookie

  1. 当您进入首页的弹出(或更好,但阴影盒)2秒
  2. 的用户提供图形和/或文字链接后出现去站点A或站点B
  3. 用户选择正确的网站,他们和发送给它的
  4. 曲奇(S)只剩下用户如此 答:他们再也见不到的选择框,只要cookie在那里。 B.他们总是被重定向到他们正确的选择,当他们点击页面。

在我的研究中,它看起来像你可以做一个,但不是两个。你怎么看?

+2

我想你有一份要求清单,你想要什么样的建议?不确定你问什么。 – Robert 2011-12-22 16:53:35

+2

“你可以做一个但不是两个” - 不知道什么是“两个”。你所描述的是绝对有可能的,并且是一个非常基本的cookies使用。 – maxedison 2011-12-22 16:54:10

+1

'它看起来像你可以做一个但不是两个'其中一个(或两个)其中两个选项? – DaveRandom 2011-12-22 16:54:17

大致是什么,你需要为了进行每一步

function redirectPopup(){ 
/*Do your popup stuff*/ 
} 

document.onload = function(){ 

    /*set timer to call your popup renderer*/ 
    setTimeout(redirectPopup,2000) 
} 

通过以上你有弹出几个选项,我建议以下

- 具备的一个弹出式窗口包含在来自网站访问的响应文本中,其可见性设置为隐藏。然后让你的redirectPopup函数改变样式属性以显示弹出窗口 - 禁用其他所有东西。 - 使用redirectPopup函数生成整个弹出窗口。

至于cookie,您可以使用setcookie函数http://php.net/manual/en/function.setcookie.php,它可以用来自动重定向用户的现场访问。例如:

/*Server request with $_GET redirectTo property*/ 
if(isset($_GET['redirectTo'])) 
    setcookie('redirectTo', $_GET['redirectTo'], time() + 86400 * 14); 

/*Check if the redirectTo cookie exists, redirect if true*/ 
if(isset($_COOKIE['redirectTo'])) 
    header("location:". $_COOKIE['redirectTo']); 

/*Do your initial, no redirect stuff here*/ 
.... 

在当用户访问该网站的服务器首先检查,看看他们是否已经选择了一个重定向选项上面的例子;已经假定当用户选择重定向选项时,目的地url与包含GET参数'redirectTo'的站点相同。如果为此参数找到了一个值,则假定用户必须访问了该站点才能看到重定向选项,并设置了其重定向cookie。

第二部分检查cookie是否已设置,如果是,则重定向用户。在这个例子中,我只是将cookie的值传递给了头函数,实际上以稍微更复杂的方式来处理这个问题会更实际一些。

setcookie方法不需要传递给它的有限时间段,因此您无法设置永久cookie,但可以将其设置为一个荒谬的保留期。最后,cookies只能被用户从他们当时正在使用的机器和浏览器中访问,如果没有某种形式的用户日志记录,无法实现重定向时间和位置。

Kevin B对不总是启用cookie的用户说得很好。考虑到这一点,php代码的第一行可能会被编辑为以下内容来处理这种情况。

/*Server request with $_GET redirectTo property*/ 
if(isset($_GET['redirectTo'])) 

    /*Where setting a cookie fails*/ 
    if(! setcookie('redirectTo', $_GET['redirectTo'], time() + 86400 * 14)) 
     header("location:" $_GET['redirectTo']); 

与之前的重定向可能从一个有点更复杂,但使用这种方法将强制重定向时Cookie不可受益。

+0

非常感谢。这是一个伟大的领先优势,我会用它来指引我朝着正确的方向 - 非常感谢奥利弗。 – Brian 2011-12-23 20:04:11

+0

同样抱歉,因为我没有在帖子中说清楚这件事 - 这是我第一次在这里,也是一个新手。下次会更具体。凯文我和你在一起,这对可用性或SEO不好。我宁愿在网站上使用它,但不幸的是,尽管我的抗议,客户仍然会有办法......再次感谢所有人。 – Brian 2011-12-23 20:06:17