web-dev-qa-db-ja.com

書き込みセッションは1ページまたはすべてのページで開始しますか?

すべてのチュートリアルは、セッションを開始するように言っています。彼らはそれがウェブサイトのすべてのページにあるべきか、いくつかにあるべきか、それとも1つだけにあるべきかについては述べていません。

そして、それが1ページだけの場合、それはメインページでなければなりませんか?または、データベースにセッションIDを配置するフォームを作成しているページですか?訪問者がセッションIDのあるページにアクセスしたことがなくても、サイト上にいる場合でも、セッションIDはありますか?

19
hmwhat

セッションデータにアクセス(または作成)する前に、セッションデータにアクセスする必要がある各ページにこれを配置する必要があります。

参照: http://php.net/manual/en/function.session-start.php

21
theprogrammer

完全を期すために、すべてのページにsession_start();を書き込むか、1つだけに書き込むか、どれにも書き込まないかを選択できます。これについて説明しましょう。

_$_SESSION_変数にアクセスする必要があるすべてのスクリプトでセッションを開始する必要がありますが、すべてのスクリプトにsession_start();を置く代わりに、ファイルheaders.phpを作成して、そこにすべての反復的なコードを置くことができますsession_start();

アプリケーションのすべてが_$_SESSION_にアクセスする必要がある場合は、php.iniファイルで_session.auto_start = 1_を設定するだけでsession_start();の使用を忘れることができます。以前にsession_start();を記述しなくても_$_SESSION_にアクセスできます。

詳細はこちら

15
Memochipan

Session_start();を宣言する必要があります。 $ _SESSIONからデータを取得するか、それらの特定のページの$ _SESSIONにデータを格納する場合は、すべてのページ。 $ _SESSIONと対話する必要がない場合は、session_start()。@ hmwhatを宣言する必要はありません。

0
Shafiqul Islam

セッション変数にアクセスするものはすべて、セッションを開始する必要があります。

したがって、セッションに依存しないphpページがない限り、すべてのページで必要になります。

0
Alex