1

$_COOKIE['redirect']ゲストユーザーが許可されているすべてのPHPページにユーザーの現在のURLを保存しています。ただし、各ページにはログインリンクもあります。ユーザーがログインをクリックすると、ログインページが表示され、認証が成功すると、を参照してユーザーを最後に表示したページにリダイレクトします$_COOKIE['redirect']

ユーザーがログインページに移動することを選択できるページの1つが、前のページのフォームを送信した後に到達したページであることを除いて、これはすべて完全に正常に機能しています。

そのため、ユーザーがそのページにリダイレクトされると、前のページのフォームから入力するために必要な情報が欠落しているため、リンク切れなどが表示されます。

だからそれはこのようなものです:

  1. ユーザーは1ページ目にいて、「投稿」を介して2ページに情報を送信します。
  2. ユーザーは現在2ページ目にいて、「ログイン」リンクを使用することにしました。これにより、ユーザーはログインページに移動します。
  3. ログイン機能はユーザーを認証し、ログイン前の場所、つまり2ページにユーザーをリダイレクトします。
  4. 2ページ目は1ページ目から情報が渡されなくなったため、リンクやテキストが欠落しているなど、混乱しています。

私がすべてを行っている方法を再構築する以外に、これに対する解決策はありますか?とにかく、リダイレクトURLは、前のページから投稿された重要な情報をどういうわけか覚えていますか?

4

1 に答える 1

1

私の最善の策はこれです..

シナリオ: ユーザーがデータを送信した後、2ページ目に移動します。そしてあなたのクッキーは彼をそのページにリダイレクトします

解決策: したがって、データを再送信するのではなく(これは役に立たないと思います)、必要なデータがない場合は、ページ2のユーザーをページ1にリダイレクトするだけです。

そして、これは確実に行う必要があります。なぜなら、ユーザーがpage2のURLを直接入力した場合、つまり、投稿データなしで)。それでも、この問題が発生するからです。したがって、上記の解決策はこれが起こらないようにします

于 2013-03-13T14:26:55.333 に答える