【问题标题】:session not getting on firefox when page is loaded first time第一次加载页面时会话没有进入firefox
【发布时间】:2015-07-19 23:17:54
【问题描述】:

我正在使用会话变量来保存名为“myage”的变量的值,如下所示

if(transfer) {
        $.ajax(
        {
          url: '../php/setSession.php',
          data: {
            'link': link,
            'myage': myage
          },
          type: 'POST',
          success: function(output)
          {
            console.log("session variables set");
          }
        }
        );

        window.location.href = "../transfer/school.html";
      }
    });

而我的 setSession.php 如下所示

<?php
session_start();
$_SESSION['myage'] = $_POST['myage'];
?>

但是,问题在于,第一次在会话中,当我登录到该站点时,会话变量没有设置,因此,“myage”在我的文本框中显示空值“我打印出它的价值。下次继续,它工作正常。

如何纠正这种行为?

编辑:这个问题只出现在火狐上,在其他浏览器上,SESSION 变量从会话中的第一次使用开始设置。

【问题讨论】:

  • 第一个代码与登录功能有关?如果是,显示完整代码?
  • @anantkumarsingh ,它与登录无关,但 myage 的值来自服务器,即使是第一次也能正确填充。但是当我将它写入 setSession.php 中的会话变量然后从中读取时,我第一次读取的是 NULL 而不是实际值。有没有其他信息我可以提供,对不起我第一次做网络开发。
  • 在你的第一页也写 session_start()。
  • @anantkumarsingh ,我再次尝试了我的原始代码,结果发现只有在 Firefox 上,会话变量 $_SESSION['myage'] 在我第一次使用该站点时没有得到保存。在铬上,同样的作品。你能建议我如何解决这个问题。重申一下,第一个代码是一个 javascript 函数,它将“myage”的值作为一个帖子(这个值是正确的并且非零/非空)发送到 setSession.php。但是一旦到达那里,会话变量就不会填充值(在此会话期间我第一次使用该站点时)。

标签: php session firefox session-variables session-cookies


【解决方案1】:

我猜你想在成功时重定向。

if(transfer) {
    $.ajax({
      url: '../php/setSession.php',
      data: {
        'link': link,
        'myage': myage
      },
      type: 'POST',
      success: function(output) {
        console.log("session variables set");
        window.location.href = "../transfer/school.html"; // <-- this line
      }
    });
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-23
    • 1970-01-01
    相关资源
    最近更新 更多