PHP $ _SESSION var无法保存在移动设备中

时间:2016-07-14 03:48:38

标签: php session

我正在开发一个混合应用程序,它将使用PHP会话来保存用户信息。在我的情况下,我试图使用PHP会话来保存数据,但它没有保存。然后,要在web中进行测试,结果var将显示已保存。

以下是我的例子:

<?php
session_start();
if(isset($_POST["Token"])){
    $token = $_POST["Token"];

    if (isset($_SESSION['device_token']) && $_SESSION['device_token']) {
        $token = $_SESSION['device_token'];
    } else {
        $_SESSION['device_token'] = "notoken";
    }
}
?>

这是我的PHP信息:

My php Info 1

My php Info 2

编辑:

<?php
ini_set('session.save_path',$_SERVER['DOCUMENT_ROOT'] .'/phpVar');
session_start();

if(isset($_POST["Token"])){
$token = $_POST["Token"];
$_SESSION['device_token'] = $token;
}
if(isset($_GET['ID'])){
$token = $_SESSION['device_token'];
$member_id = $_GET['ID'];
$_SESSION['ID'] = $member_id;

echo $_SESSION['device_token'] ;
echo $_SESSION['ID'] ;
}
?>

1 个答案:

答案 0 :(得分:0)

因为你错过了}

所以,而不是:

if(isset($_POST["Token"])){
    $token = $_POST["Token"];

应该是:

if(isset($_POST["Token"])){
    $token = $_POST["Token"];
}

修改

好的,然后尝试查看会话目录是否可写:

if (!is_writable(session_save_path())) {
    echo "No, it's not. Path:".session_save_path(); 
}
else{
    echo "yes, it's writable";
}

修改

当未设置路径时,您可以在session_start

之前手动设置它
ini_set('session.save_path',getcwd(). '/tmp');

然后你需要创建tmp文件夹并给予正确的权限