我希望在整个会话中存储一个变量,以便当用户关闭促销栏时,它保持关闭状态,并且每次导航到新页面时都不会弹出。

在页面加载中,我有以下内容:

$.ajax
({
  url: 'promo.php',
  type: 'post',
  data : formData,
  success: function(result)
  {
    alert(result);
  }

});


formData现在并不重要,因为它没有被使用。*

promo.php:

<?php

  if (isset($_SESSION['promoBar'])) {

    echo $_SESSION['promoBar'];

  }
  else {

    $_SESSION['promoBar'] = "closed";
    echo "does not exist";

  }

?>


这个想法是在页面加载时它将检查$_SESSION['promoBar']变量是否存在,如果存在,则返回其值。否则设置一个值。

当前,警报始终显示does not exist。我期望它第一次显示does not exist,然后每次我导航到新页面时都显示closed

我做错了什么?

最佳答案

尝试这个...
检查前使用“ session_start”


session_start();

  if (isset($_SESSION['promoBar'])) {

    echo $_SESSION['promoBar'];

  }
  else {

    $_SESSION['promoBar'] = "closed";
    echo "does not exist";

  }

?>

08-08 03:08