douren2831 2011-09-21 09:45
浏览 47
已采纳

未设置时的php会话变量问题

i have made a function to set a session variable $_SESSION['flash'] in order to store a message between page

function setFlash($string,$type="info") {

    switch ($type) {
        case "warning":
            $_SESSION['flashtype'] = "warning";
            break;
        case "error":
            $_SESSION['flashtype'] = "error";
            break;
        case "info":
            $_SESSION['flashtype'] = "info";
            break;
        default:
            $_SESSION['flashtype'] = "info";
            break;
    }
    $_SESSION['flash'] = $string;   
}

and a function to print this message

function printFlash() {
      echo $_SESSION['flash'];
      unset($_SESSION['flash']);

}

i call this function at the top of every page (naturally after session_start)

the problem is that it doesn't print nothing, but if I comment " unset($_SESSION['flash']);" it prints the message in every page.

how can i solve?


Solved sorry my fault.

my page is something like this

include "func.inc.php"
session start

function editSomething {
  that call setFlash()
  }

include "template.php" (where printFlash() is called)

now i put printFlash directly in my page and works..bah strange...what's my mistake?

  • 写回答

1条回答 默认 最新

  • doushi8599 2011-09-21 10:18
    关注

    On every page this is what happened:

    • Make a session
    • Display flash
    • Delete flash
    • Create 'flash' with value

    You have to move Create before display.

    (it's also not very usefull because you do not transmit 'flash' (it's delete right after been created)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题