初心者ですので、見当違いの質問の場合はご容赦ください
login.php(ユーザ認証)
cart.php(ショッピングカート)
という構成でSESSION変数の受け渡しを行いたいのですが
login.php で認証確認後、
session_start();
$_SESSION['su_id'] = $u_id ;
$_SESSION['su_name'] = $u_name ;
のように設定の上
require "./cart.php";
でcart.phpを呼び出し(?)ています
require直後のcart.phpの初期状態では
$_SESSION['su_id'] 、$_SESSION['su_name']ともに正しく表示しますが
submit等(次ページ表示などで)で再表示を行うと
$_SESSION['su_id'] 、$_SESSION['su_name']が引き継がれません
cart.phpにおける session_start()時に、新しいIDに置き換わっているからだと思いますが
このようなケースではどういう処置を行えばよいのでしょうか?
幼稚な質問かどうかすら判断できていないのですが
コメントを頂ければ助かります
よろしくお願いします
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
require "./cart.php";
これはどこに書かれているのですか?
例えば、main.php(認証後のページ)の中でrequire "./cart.php";しているならわかります。
(説明では、cart.phpの中で、cart.phpをrequireする様に捉えられます)
以下を参考に、画面遷移を見直してください。
// login.php
*session_start()
*フォームにIDやパスワードを入力
*認証処理
*【成功】セッション情報を登録、新しいsession_idを発行、main.phpへリダイレクト
*【失敗】送信情報をクリアする為に、login.phpへリダイレクト
// main.php
*session_start()
*セッション情報チェック、不正:logout.phpへリダイレクト
*require "./cart.php";
*$ca = new Cart( セッション情報 ); //カートクラスのインスタンス生成
*$ca->show(), $ca->add(), $c->del(), $ca->edit() etc.
*商品表示とか色々なコンテンツ表示
// cart.php
* class Cart カート自体を作成したり、アイテムを追加削除編集したりするクラス
* function __construct( セッション情報 )
* function show(), add(), del(), edit() etc.
// logout.php
*session_start()
*セッション破棄
*login.phpへリダイレクト
参考URL:http://www.php.net/manual/ja/ref.session.php
回答いただき、ありがとうございます
> require "./cart.php";
> これはどこに書かれているのですか?
> 例えば、main.php(認証後のページ)の中でrequire "./cart.php";しているならわかります。
> (説明では、cart.phpの中で、cart.phpをrequireする様に捉えられます)
説明が曖昧でした
login.phpの中で、認証確認直後に記述しています
ご指摘のサンプルを参考にさせて頂いていますが、現cart.phpの機能をmainと分散化する事になるのですよね・・
No.1
- 回答日時:
こんばんは。
質問文からだと、session_idが変わってしまう原因は分かりませんね・・・。
どうしてもsession_idが引き継げないような場合は、
自分でsession_idを設定して、毎回同じsession_idでsession_startすればいいです。
cookieが使える場合は、普通に引き継いでくると思うんですが・・・。
回答いただき、ありがとうございます
現処理のすべてのsession_startの直前で
session_id( "abcdefghijklmn" );
を記述すれば良いのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPで入力フォームでデータを確認表示画面まで送る流れを日本語で理解したいのです。 1 2023/05/29 19:12
- PHP php 入力画面から確認表示画面へ情報の受け渡しについて。 1 2023/06/07 18:00
- PHP php 確認表示画面で値をSESSIONから取り出す理由の解釈は正しいでしょうか? 1 2023/06/09 17:39
- PHP $_SESSIONに渡した後はそのまま使っても問題ありませんか? 3 2022/11/08 22:17
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHP session_destroyとsession...
-
$_SESSION 有効期限をブラウザ...
-
セッション機能が使えない
-
session_start();について
-
DOCOMOのセッションについて
-
GETでの変数の受け渡しについて
-
フォントの色を変えるには?
-
PHPのif文でその処理を途中で抜...
-
リンク先を隠す方法はないでし...
-
copy() で属性保存
-
onedrive にexcelファイルをア...
-
「クラス関数」「メンバ関数」...
-
別PHPファイルに変数を渡す
-
VBSの「MsgBox」について
-
3つ以上の論理積は利用可能なの...
-
「@$変数」の「@の意味は?」
-
CFileDialogの最初のディレクト...
-
BASP21メール送信(SMTP-AUTH認...
-
htmlをphpにするにあたってデメ...
-
openCVの超解像処理
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHP session_destroyとsession...
-
$_SESSION 有効期限をブラウザ...
-
jqueryの$.ajaxでPHPに値を渡し...
-
セッションファイルの場所
-
セッションのクッキー有効期間...
-
session_set_save_handler の実...
-
セッション部分のインクルード
-
リロード・ページビューの判定
-
phpのセッションについて
-
SESSIONを階層ごとに分けるには?
-
自動ログアウト
-
phpでのログアウトについて
-
「セッション管理用のクッキー...
-
PHPの引数を含んだURLについて
-
session_start();について
-
SESSION の受け渡し
-
PHPでのセッション管理について
-
セッションが変数が取得できません
-
session_start出来ません。
-
ログインしたページで、ある処...
おすすめ情報