0

session_start ()を使用してセッションを開始すると、データを に保存できます$_SESSION。セッションからデータを取得しようとしているときのポストバックで、$_SESSIONデータは NULL です。私はセッションIDを投稿し、次にsession_id(passedSessionID)を呼び出してから呼び出しsession_start()ていますが、そのセッションのデータはなくなりました。session_save_pathに書き込まれるはずのセッション ファイルがありません。

セッションファイルが書き込まれていないことに関係していると思います。

アップデートで問題が判明しました。セッションデータを保存するディレクトリへのphpプロセス書き込み権限を与えませんでした。:-/

4

2 に答える 2

0

$_SESSIONグローバル変数が現在のユーザーのセッションのデータのみを返す限り、session_id毎回渡す必要はありません。@Brianがコメントで述べたようにsession_start()、それがコードの先頭にあることを確認することを忘れないでください。その後、セッションの識別については気にしないでください。

OK、これがあなたにとって意味があることを願っています。別のブラウザでこのコードを試して、ページを数回更新してください。

<?php
session_start();
echo session_id();
?>

これはセッションIDを返し、異なるブラウザでは異なりますが、ページの更新後は同じままです。

于 2012-10-15T13:19:36.907 に答える
0

session 使用法を別の方法で解釈していると思います。各ページの開始時に呼び出すだけsession_start()で、ページ間でデータが同期されます。

page1.php

session_start()
-- store some session data
-- Some form with action page2.php
-- Submit button

page2.php

session_start()
-- fetch the session data
-- fetch the form data

このcoredogs チュートリアルをご覧ください。

お役に立てれば

于 2012-10-15T14:07:44.537 に答える