0

クラスのすべての関数内で 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;


4

4 に答える 4

3

いいえ、リクエストごとに 1 回だけ呼び出す必要があります。したがって、実行される最初のスクリプトは、そのファイルの先頭に投稿します

于 2013-06-29T15:54:37.150 に答える
1

いいえ、ロードされたページで一度だけセッションを開始する必要があります。どのクラスや関数にもありません。

于 2013-06-29T15:54:09.813 に答える
1

いいえ、session_start()アプリが出力を送信する前に、アプリのエントリ ポイントで 1 回呼び出す必要があります。

于 2013-06-29T15:54:44.940 に答える
1

セッションが開始されているかどうかを確認できます。

if (!session_id())
  session_start();
于 2013-06-29T15:56:03.410 に答える