2

在过去的两天里,我一直被这个问题困扰,我的主“login.php”文件中有以下代码,它在所有浏览器中运行没有任何问题,但在“Safari”中没有。

 if(isset($_SESSION["del_log"]) && !empty($_SESSION["del_log"]) && isset($_SESSION["user_type"]) && !empty($deal_type)){

            $expire=time()+60*60*24*365;
            setcookie("del_log",$_SESSION["del_log"], $expire, '/');
            setcookie("user_type", $_SESSION["user_type"], $expire, '/');

    echo "<script>window.location.href=\"http://www.sample.com/foldername/index.php\"</script>";
        }

我正在“.../foldername/index.php”文件中检查这些cookies:

 if (isset($_COOKIE["del_log"]) && !empty($_COOKIE["del_log"])){
     $log=$_COOKIE["del_log"];
     $user_type=$_COOKIE["user_type"];
 }else{
     echo "<script>window.location.href=\"http://www.sample.com/\"</script>";
 }
4

1 回答 1

2

以前遇到过这个问题。会话的 cookie 路径 ( http://php.net/manual/en/function.session-set-cookie-params.php ) 必须有一个斜杠才能工作。Safari 特定的。

请参阅我的另一个问题的答案:https ://stackoverflow.com/a/15131791/188331

于 2013-04-15T02:32:46.487 回答