1

前のページに戻る方法を知りたい...

多くの結果が存在する検索結果ページにいます。各結果には、「メールで送信」などのオプションがあります。

ユーザーがそれをクリックすると、ユーザーが自分の名前と電子メール ID を提供する必要があるところで、thickbox フォームが開きます。ユーザーが「送信してフォームを送信」をクリックすると、データベースにエントリが作成され、電子メール ID を介してユーザーに電子メールが送信されます。

問題は、フォームを送信した後、ユーザーがメールを返信するオプションがある検索結果ページにユーザーをリダイレクトしたいことです。

4

3 に答える 3

5

フォームの送信に Ajax を使用してから、Thickbox を閉じることができます。Ajax を使用できない場合は、リファラー URL を使用してユーザーを前のページにリダイレクトすることもできます。

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

アップデート:

一部のブラウザーはリファラー URL を提供しない場合があるため、上記は機能しません。回避策として、Thickbox 内のフォームに検索ページの URL を提供し、それをリダイレクトに使用することができます。

Thickbox フォームで、URL を含む隠し要素を追加します。これは、JavaScript または PHP で実行できます。

次に、HTTP_REFERER を使用する代わりに、隠し要素の名前を使用します。

形:<input type='hidden' name='searchUrl' value='http://the.search.url' />

PHP:header("Location: ".$_REQUEST["searchUrl"]);

于 2012-05-31T06:13:50.387 に答える
1

セッションで最後の場所を記憶し、Location ヘッダーでその場所にリダイレクトします。

于 2012-05-31T06:11:20.713 に答える
0

戻りたいページに次のコードを追加します=>

<?php
   session_start();
   $_SESSION["addresser"]="home.php";
?>

次に、フォームがあるページまたは戻りたい場所に次のコードを追加します=> 最初に非表示フィールドをフォームに追加します=>

<input type="text" name="valid" hidden="hidden" readonly="readonly" value="true"/>

このページの上部に次の php コードを追加します==>

<?php
session_start();
$location=$_SESSION["addresser"];
if($_SESSION["validate"]="true"){
header("location: $location");}
?>

また、フォームが送信される php ファイルに次のコードを追加します。

<?php
$_SESSION["validate"]=$_POST["valid"];
?>
于 2013-02-10T06:03:36.290 に答える