2012-05-31 147 views
1

我想知道我怎麼能返回到前一個頁面後...自動返回結果頁面提交

我的搜索結果頁面,其中許多成果上存在。對於每個結果,都有一個選項,例如「EMAIL ME」。

當用戶點擊它時,會打開一個厚盒子表單,用戶需要提供他的名字&電子郵件ID。當用戶點擊「發送提交表單」時,我們會在數據庫中輸入一個條目,並通過他/她的電子郵件ID將電子郵件發送給用戶。

問題是,在提交表單後,我想將用戶重定向到搜索結果頁面,用戶可以選擇發送電子郵件。

回答

5

您可以使用Ajax進行表單提交,然後關閉Thickbox。如果不能選擇Ajax,則也可以使用引薦來源網址將用戶重定向到上一頁。

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

更新:

因爲有些瀏覽器,有時,不提供引薦來源網址,上面是行不通的。解決方法是使Thickbox中的表單提供搜索頁面的URL,然後可以使用該頁面重定向。

在Thickbox表單中,添加一個帶有URL的隱藏元素。這可以通過JavaScript或PHP完成。

然後不使用HTTP_REFERER,而是使用隱藏元素的名稱。

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

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

+0

plz告訴我更多關於 - 如何重定向到提交的URL。 –

+0

搜索網址對我來說並不真實,因爲我的網址隨着每次搜索點擊而改變,但您的HTTP_REFERER工作正常。非常感謝您的幫助 –

+0

或者,讓JavaScript填充搜索結果頁面的URL。 –

1

記住會話的最後一個位置並使用Location標頭重定向到該位置。

+0

將ü請幫助我的代碼,我不是使用登錄的用戶,所以我可以設置會話,而不LOGI ñ。 –

+0

是的,你可以。會話根據連接而不是每個用戶進行設置。 –

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"]; 
?> 
相關問題