【问题标题】:does session_start have to be called inside every function?session_start 必须在每个函数中调用吗?
【发布时间】:2013-06-27 05:52:48
【问题描述】:

session_start() 是否必须在类的每个函数中调用?喜欢:

class User { var $username; function set_session_username($username) { session_start(); # do I really need to call this again? $_SESSION['username'] = $username; } function retrieve_session_username() { session_start(); # do I really need to call this again? $this -> username = $_SESSION['username']; } } session_start(); $user = new User(); $user -> set_session_username('savagewood'); $user -> retrieve_session_username(); echo $user -> username;

【问题讨论】:

  • 不,只需在课程之前或至少在任何输出之前调用 session_start()。

标签: php class session


【解决方案1】:

不,每个请求只需要调用一次。因此,运行的第一个脚本将其发布在该文件的顶部

【讨论】:

    【解决方案2】:

    不,您只需要在加载的页面中启动一次会话。不在任何类或函数中。

    【讨论】:

      【解决方案3】:

      不,session_start() 应该在您的应用程序入口点调用一次,然后您的应用程序发送任何输出。

      【讨论】:

        【解决方案4】:

        您可以检查会话是否已启动:

        if (!session_id())
          session_start();
        

        【讨论】:

          猜你喜欢
          • 2014-01-28
          • 2017-07-31
          • 1970-01-01
          • 1970-01-01
          • 2010-09-18
          • 1970-01-01
          • 1970-01-01
          • 2015-08-26
          • 1970-01-01
          相关资源
          最近更新 更多