1

これを使用して前のページに戻ることができます。

header('Location: ' . $_SERVER['HTTP_REFERER']);

しかし、その前にページに戻る必要があります。私はこれを達成したい:

ページ 1 -> フォームを使用してレコード ページを挿入 -> フォームを送信 -> PHP で挿入を処理 -> ページ 1 にリダイレクト

現在、上記のコードを使用すると、最初のページではなく、「フォーム付きのレコードページを挿入」= 2 番目のページに戻るだけです。それはできますか?

4

2 に答える 2

3

これを試して:

「ハンドル挿入...」を変更します。

header('Location: ' . $_SERVER['HTTP_REFERER'] . '?redirect');

「挿入レコード...」を追加します

if(isset($_GET["redirect"]) { header ("location: page1.html"); }

説明:

最初のものは「挿入レコードページ」にパラメーターを送信し、挿入レコードページは「リダイレクト」という名前のパラメーターがあるかどうかを確認し、それがある場合はページ1にリダイレクトします!


パラメータとして URL を送信すると、その特定の URL にリダイレクトされるリダイレクト用の別のページを作成することをお勧めします。それが私がすることです。一方、そのページでは、いくつかの検証も行います。:)

@War10ckおよびPHP Docsによると:

これは、ユーザー エージェントによって設定されます。すべてのユーザー エージェントがこれを設定するわけではなく、機能として HTTP_REFERER を変更する機能を提供するユーザー エージェントもあります。要するに、本当に信用できない。

そのために、この質問が役立つ場合があります。自分自身で記録を残すことを示唆しています。

リソース: PHP ドキュメント

于 2013-07-05T20:39:16.413 に答える
1

それはできますが、あなたが試みている方法ではありません。プライバシー上の理由から、クライアントの Web 履歴は意図的に非表示になっています。リファラーが表示されますが、それだけです。代替設計の提案については、@MohammadAreebSiddiq の回答を参照してください。幸運を!

于 2013-07-05T20:44:00.027 に答える