1

クライアント用に構築した e コマース システムに問題があり、一部の注文が空白になります。セッションが設定されているかどうかを確認するコードを追加しましたが、一部の注文では設定されていないため、空白になります。

セッションを使用する理由は、注文情報を保存するためです

例えば:$_SESSION['data']=$_POST;

ユーザーのブラウザで Cookie が無効になっているとしか思えませんが、これを回避する方法を知りたいと思います。

私がしたいのは、セッションIDを経由して送信しない場合にCookieが有効になっているかどうかを確認することですが、セッションIDを使用して$_GETアクセスするにはどうすればよい$_SESSION['data']ですか?

だから私の質問は:

Cookie が有効になっているかどうかを確認するにはどうすればよいですか? また、そうでない場合は get 経由でセッション ID を送信$_SESSION['data']し、セッション ID を使用してアクセスするにはどうすればよいですか?

4

2 に答える 2

2

たとえば、次を使用して、セッションマネージャーを手動で開く必要があります

<?
session_id($_GET['session_id']); 
session_start();
//you can now acccess $_SESSION['data']
于 2012-07-09T11:46:31.567 に答える
2

php.ini で session.use_trans_sid を設定できます。これにより、GET または POST を介してセッション ID が自動的に追加されます。

これは、php.ini の url_rewriter.tag エントリに従って、href などの特定の要素を自動的に書き換えることによって行われます。

セッション ID を URL に保存すると、ユーザーが意図せずにセッション ID を他の人と共有する可能性があるため、通常は Cookie を使用することをお勧めします。

于 2012-07-09T11:54:11.233 に答える