Session 禁用Cookie时如何设置标志

Session 禁用Cookie时如何设置标志,session,cookies,Session,Cookies,我正在写一个移动网站,在网站加载之前有一个简短的闪屏显示 我在index.php文件中使用以下代码重定向到初始屏幕 session_start(); if(!isset($_SESSION['splash'])){ $_SESSION['splash']=true; header('Location: splash.html'); } //Do normal index.php 闪屏在1秒后重定向回index.php,这一次跳过闪屏部分并正常加载站点。 在有人禁用cookie

我正在写一个移动网站,在网站加载之前有一个简短的闪屏显示

我在index.php文件中使用以下代码重定向到初始屏幕

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

//Do normal index.php
闪屏在1秒后重定向回index.php,这一次跳过闪屏部分并正常加载站点。 在有人禁用cookies之前,这一切都非常有效! 在这种情况下,会话变量“splash”永远不会被设置,因此您只会得到一个无休止的循环,一次又一次地显示初始屏幕


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

您可以让PHP将会话ID作为GET变量传递,而不是将其存储在cookie中。有关如何操作的信息。

谢谢您提供的信息。因此,如果我没有弄错,我只需要将if语句更改为
if(!isset($\u SESSION['splash')&!SID){
。它就是这样工作的吗?如果启用了cookie,就可以设置SESSION变量,否则就会设置SID?不,必须将SID附加到所有链接,因此如果cookie关闭,它会添加一个类似phpsessid=000000000的strink(无法存储在cookie中的值),如果启用cookie,则该值为空。在您的情况下,只需将SID附加到位置标头。