php - codeigniter 就像核心 php 中的 flashdata

标签 php session

有没有办法像在 codeigniter 中一样创建 flash session 数据,
我想在核心 php 中创建它。

我不想使用 GET 方法,使用 url 传递变量会在我的应用程序中产生问题。
那么,我该怎么做呢?

最佳答案

使用 PHP session 创建 flash 消息类非常容易。

class FlashMessage {

    public static function render() {
        if (!isset($_SESSION['messages'])) {
            return null;
        }
        $messages = $_SESSION['messages'];
        unset($_SESSION['messages']);
        return implode('<br/>', $messages);
    }

    public static function add($message) {
        if (!isset($_SESSION['messages'])) {
            $_SESSION['messages'] = array();
        }
        $_SESSION['messages'][] = $message;
    }

}

确保您首先调用 session_start()。然后您可以使用 FlashMessage::add('...');

添加消息

然后,如果您重定向,则可以在下次呈现页面时呈现消息 echo FlashMessage::render()。这也将清除消息。

参见 http://php.net/manual/en/features.sessions.php

关于php - codeigniter 就像核心 php 中的 flashdata,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12153140/

相关文章:

java - Servlet中jsp获取session属性值

java - wicket 是否执行 session 序列化?

javascript - 使用 Ajax 延长 PHP session 超时

php - 如何对mysql的选择结果进行升序编号?

php ($foo > 0) 或 ($foo >= 1)

javascript - $.ajax 中的成功不会被执行

php - 为什么 str 替换仅在第一个匹配中起作用?

javascript - 如何在 iPad Safari 浏览器的 HTML5 代码中使用 Javascript 以编程方式清除 session 和 cookie 值

php - 无法在我的代码中设置 session.save_handler

php - 使用 laravel 队列无法在我的共享主机解决方案上运行