要记住和重定向的Cookie
这可能是一个复杂的问题,但我需要做的事情与您访问制造商网站时看到的国家/地区选择页面非常相似 - 那些询问您来自哪里的人以及然后选择你被送到适当的网站,说美国版本或西班牙语版本。我已经看到这些用弹出式窗口或影子盒完成,这是首选。所以......要记住和重定向的Cookie
- 当您进入首页的弹出(或更好,但阴影盒)2秒
- 的用户提供图形和/或文字链接后出现去站点A或站点B
- 用户选择正确的网站,他们和发送给它的
- 曲奇(S)只剩下用户如此 答:他们再也见不到的选择框,只要cookie在那里。 B.他们总是被重定向到他们正确的选择,当他们点击页面。
在我的研究中,它看起来像你可以做一个,但不是两个。你怎么看?
大致是什么,你需要为了进行每一步
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不可受益。
我想你有一份要求清单,你想要什么样的建议?不确定你问什么。 – Robert 2011-12-22 16:53:35
“你可以做一个但不是两个” - 不知道什么是“两个”。你所描述的是绝对有可能的,并且是一个非常基本的cookies使用。 – maxedison 2011-12-22 16:54:10
'它看起来像你可以做一个但不是两个'其中一个(或两个)其中两个选项? – DaveRandom 2011-12-22 16:54:17