2011-08-20 9 views
11

すべてのチュートリアルでは、セッションを開始すると言っています。彼らはそれがウェブサイトのすべてのページにあるのか、それとも1つしかないのかについては言及していません。1ページまたはすべてのページでセッションを開始しますか?

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

答えて

0

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

したがって、セッションに依存しないPHPページをすべてのページより必要としている場合を除きます。

17

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

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

+0

私はウェブサイト上の各ページの先頭にセッションを開始し、セッションIDをmysqlデータベースに入れるコード?だからセッション開始はそれらのページに2回書き込まれるべきですか? – hmwhat

+2

いいえ、1ページに1回だけ必要ですが、データにアクセスする前に必要です。 – theprogrammer

14

ただ、完全性の問題のためにあなただけの1またはそれらのいずれにも、すべてのページでsession_start();を書くことを選択することができます。私はこれを説明しましょう。

はあなたが$_SESSION変数へのアクセスを必要とする代わりに、一つ一つのスクリプトでsession_start();を置くのあなたはsession_start();

の場合を含め、すべての反復コードをファイルheaders.phpを作成し、そこに置くことができ、すべてのスクリプトでセッションを開始する必要がありますあなたのアプリケーションのすべてが$_SESSIONにアクセスする必要があります。をphp.iniファイルに設定するだけで、session_start();の使用を忘れることがあります。前にsession_start();と書かずに$_SESSIONにアクセスすることができます。あなたは(にsession_startを宣言する必要が

More here

0

)。 $ _SESSIONからデータを取得したい場合や、$ _SESSIONにデータを保存したい場合は、すべてのページでこれらの特定のページを使用します。 $ _SESSIONと対話する必要がなければ、session_start()を宣言する必要はありません。@ hmwhat