0

Web サイトでセッション変数の受け渡しに問題があります。広告主/page2.php でセッション変数をエコーできますが、3 番目のページに移動すると、セッションがなくなります。

誰かがこの問題を解決するのを手伝ってくれますか?

login.php

session_start();

$_SESSION['account_id']= $account_id;
$_SESSION['user_email']= $user_email;

広告主/page2.php

session_start();

広告主/page3.php

session_start();

これが私のphpinfo()の設定です

Directive   Local Value Master Value

session.auto_start  Off Off

session.bug_compat_42   Off Off

session.bug_compat_warn On  On

session.cache_expire    180 180

session.cache_limiter   nocache nocache

session.cookie_domain   no value    no value

session.cookie_httponly Off Off

session.cookie_lifetime 0   0

session.cookie_path /   /

session.cookie_secure   Off Off

session.entropy_file    no value    no value

session.entropy_length  0   0

session.gc_divisor  100 100

session.gc_maxlifetime  1440    1440

session.gc_probability  1   1

session.hash_bits_per_character 5   5

session.hash_function   0   0

session.name    PHPSESSID   PHPSESSID

session.referer_check   no value    no value

session.save_handler    files   files

session.save_path   no value    no value

session.serialize_handler   php php

session.use_cookies On  On

session.use_only_cookies    Off Off

session.use_trans_sid   0   0
4

1 に答える 1

0

PHPでこの問題に何度か遭遇しましたが、イライラしています。

私がしていないのは、任意の文字列と組み合わせたユーザー名などの文字列session_id([new_session_id])の MD5 ( http://php.net/manual/en/function.md5.php ) ハッシュを使用してセッション ID を設定することです。ユーザー名は常にユーザーデータに関連付けられています。

セッション ID は常に再計算されますが (これは最小限のパフォーマンス コストである可能性があります)、結果が確定的であるため、必要なときにいつでもセッションを見つけることができます。

これが最善の方法であるかどうかはわかりませんが、PHP でセッションを維持する際に、このアイデアにまつわる何かが失敗したことはないようです。

于 2013-09-03T15:38:27.137 に答える