javascript/jquery または ajax を使用せずに純粋なphpを使用しているとします。
Web サイトに多数のページがあります。たとえば、page1、page2、page3、page4 とします。最初の 3 つのページすべてに、ページ 4 に移動してログインするためのリンクがあります。
ページ4にはフォームフィールドがあり、上にはユーザー入力をキャッチしてユーザー名をセッションに入れるphpスクリプトがあり、その後、ユーザーの元のページにリダイレクトしたいのですが、ページがリダイレクトされていません. コードを入れてみましょう。
<?php
ob_start();
session_start();
if(isset($_POST['username'])){
$username = $_POST['username'];
$_SESSION['username'] = $username;
if(isset($_SERVER['HTTP_REFERER'])){
$referer = $_SERVER['HTTP_REFERER'];
header('location: '.$referer);
}
}
?>
<form action="page4.php" method="POST">
Username: <input type="text" name="username" /><br/>
<input type="submit" value="Submit" />
</form>
すべての page1、page2、page3 をob_start()
session_start();で再開しています。
ヘッダー関数に特定のページを使用すると、リダイレクトされます。ヘッダー ( location: page2.php
) などの問題はありません。フォーム フィールドと php スクリプトが同じページ (page4) にあるので、動的にリダイレクトするにはどうすればよいのでしょうか? ユーザーは、ページ 1、ページ 2、またはページ 3 からアクセスする可能性があり、ログイン後に元の特定のページに戻りたいと考えています。