2

私はphpログインのあるウェブサイトを持っています。ページにアクセスするたびに、を呼び出しますsession_start()

私はこの異常な問題を抱えていました。5回に1回(またはそれくらい)、session_startは既存のPHPSESSIDCookieを認識できず、代わりに新しいCookieを作成するため、2つあり、保存されているすべてのデータの使用を停止します。最初のセッションで。

これは次のようになります。ログインに成功し、ログインしていたのと同じページに正常にリダイレクトされ、セッションID Cookieが割り当てられ、セッションにデータが正常に保存されます(すべてチェックおよび確認済み)

次に、ページ上の任意のリンク(現在の同じページに移動するリンクも含む)をクリックすると、セッションを続行する代わりに、新しいセッションが作成され、2番目のセッションCookieが提供され、効果的にログアウトされます。

これは5回に1回だけ発生し、最初にWebサイトにアクセスしたときにのみ発生します。成功したトライアルでは、ログインすると、別のページに移動すると、2つではなく1つのセッションIDCookieが残ります。

私はこの問題で壁に頭をぶつけてきました、そしてどんな助けも欲しいです!

4

3 に答える 3

2

電話: echo session_id();。何が返されますか?

これがセッション ID です。スクリプトのフロー中に変更すると、データが失われます$_SESSION

于 2012-08-06T14:09:49.360 に答える
1

セッションを破棄して再作成している可能性があります。セッションを作成する前に、セッションが存在しないことを確認してください。

if(!$_SESSION)
   session_start();
于 2012-08-06T13:49:34.183 に答える