みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

session_start();について

以下のような処理を行なっております。(a.php~e.php)
入力情報保持のため、セッションを利用しております。
そこで、a.php~d.phpの全てのページの最初に
session_start();
を記述しております。
ワーニングで
「Notice [PHP]: A session had already been started - ignoring session_start()」
といった旨のメッセージが出るのですが、サイト内でセッションを利用する場合、
最初(この場合だとa.php)だけに
session_start();
を記述すればよいのでしょうか。
セッションを利用するページ全てに記述するという認識でいたのですが・・・
御教授頂ければと思います。


a.php
情報ページ
セッションの開始

b.php
入力情報チェック


c.php
入力情報確認ページ

d.php
入力情報登録
セッション破棄

e.php
登録完了ページ


環境
phpバージョン4.3.11
xoopsにて使用

投稿日時 - 2005-03-01 15:21:11

QNo.1244827

暇なときに回答ください

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(1)

>ワーニングで
>「Notice [PHP]: A session had already been started - ignoring session_start()」
↑すでにsessionは開始されてるよって言ってます。

aとbは、どこかのページで同時にincludeされてるのかな?
それならincludeしてるファイルでSession開始するか、aだけで良いです。

あと矢印(↓)は遷移を表してるのかな?

とりあえずsession_start()は1要求(POSTとかGET)に1回呼べばokです。

頑張って。

投稿日時 - 2005-03-01 21:03:29

お礼

sapporoSweetsさん、回答有難う御座います。。。

>あと矢印(↓)は遷移を表してるのかな?
すみません・・・記述ミスです。
includeではなく、遷移を示します。
正しくは以下です。

>a.php
>情報ページ
>セッションの開始
>↓
>b.php
>入力情報チェック
>↓
>c.php
>入力情報確認ページ
>↓
>d.php
>入力情報登録
>セッション破棄
>↓
>e.php
>登録完了ページ

上記の場合は、a.phpのみで
session_start()
を記述すればいいんですよね。

基本的な質問に回答して頂き、有難う御座いました。

投稿日時 - 2005-03-03 14:01:55

あなたにオススメの質問