代码之家  ›  专栏  ›  技术社区  ›  Martin Bean

AJAX脚本能否在PHP中持久化会话?

  •  1
  • Martin Bean  · 技术社区  · 14 年前

    我被要求开发一个社交网站来配合游戏。游戏是一闪而过的(所以仅仅作为一个 .swf 文件),并将在社交网站上托管。

    测试和开发过程中出现的问题之一是会话超时。我知道会话长度(理论上)可以用 php.ini 但在这种情况下,它似乎不起作用,很可能是由于我们的主机提供商的限制。

    因此,如果我把一个小的JavaScript片段放到我的页面的头部,它只是向网站上托管的一个文件发出请求,这会持续一个会话吗?如果是这样,这种做法有什么缺点吗?

    2 回复  |  直到 14 年前
        1
  •  5
  •   Paul Dragoonis    14 年前

    session_start();
    die(isset($_SESSION['myvar']) ? 'it exists' : 'it does not exist');
    

    第2页-发出AJAX请求的页面

    session_start();
    $_SESSION['myvar'] = 1;
    

    当您访问第2页时,会话将启动并设置会话变量“myvar”。如果您从第2页向第1页发出AJAX请求,那么第1页在会话中设置了变量“myvar”,因此输出将是“it exists”。

        2
  •  0
  •   Mchl    14 年前

    如果请求的脚本调用session\u start(),则应在每次请求时续订会话cookie。乍一看我不明白为什么它不起作用。