2012-08-07 89 views
0

我正在编写移动网站,并在网站加载前暂时显示启动画面。如何禁用cookie时设置标志

我用我的index.php文件下面的代码重定向到闪屏

session_start(); 
if(!isset($_SESSION['splash'])){ 
    $_SESSION['splash']=true; 
    header('Location: splash.html'); 
} 

//Do normal index.php 

的闪屏重定向到的index.php 1秒后,其这一次跳过了闪屏部分,正常加载网站。 这一切工作得很好,直到有人禁用cookies! 在这种情况下,会话变量'splash'永远不会被设置,所以你只是无尽的循环显示一次又一次的启动画面......

处理这种情况的最佳方法是什么?

回答

0

您可以让PHP将会话ID作为GET变量传递,而不是将其存储在cookie中。 See here了解如何做到这一点。

+0

感谢您的信息。所以如果我有这个权利,我只需要改变我的if语句为'if(!isset($ _ SESSION ['splash'])&&!SID){'。这是它的工作方式?会话变量可以设置,如果cookie被启用,否则SID将被设置? – Damian 2012-08-08 06:59:49

+0

不,您必须将SID附加到您的所有链接,因此如果cookies关闭,它会添加一个像phpsessid = 000000000(无法存储在cookie中的值)的链接,如果启用了cookie,则为空。在你的情况下,只需将SID附加到位置标题。 – 2012-08-08 15:42:20

相关问题