2014-10-03 83 views
0

跟我在這一個:-)Javascript或PHP後退按鈕

頁: 的index.php contact.php

我從index.php來contact.php去,做一個HTML POST到contact.php(我將數據發送到數據庫...),然後有一個返回按鈕返回到index.php。現在即時通訊尋找一個JavaScript或PHP解決方案返回(完全鏈接javascript history.back(-1)),但我不希望頁面再次執行contact.php的POST,並且我不想使用歷史記錄.back(-1)。現在我知道我可以說回來,但我不想硬編碼。和建議?

+3

使用AJAX做你的POST而不是加載另一個頁面 – 2014-10-03 07:58:28

+0

你可以使用'location.href ='或'location.replace()'或'window.location ='http://codequake.co.uk/code/javascript_jquery/6/Refresh_a_page_with_Javascript_or_jQuery – MLeFevre 2014-10-03 08:01:40

+0

有沒有解決你的問題? – Wouter0100 2014-10-03 08:08:39

回答

0

您可以使用像history.go(-1)或history.back(東西),但用戶不beeing提示再次提交數據後,您需要刪除緩存所需的頁面(見this link

4

您應該使用POST-REDIRECT-GET模式。

接受POST數據的頁面應以303頭部響應並重定向到其他位置。

// this is the file which accepts the post data 
header("HTTP/1.1 303 See Other"); 
header("Location: http://$_SERVER[HTTP_HOST]/afterthepost.php"); 
die(); 

然後在該網頁,如果用戶進入「回」(通過任何手段的JavaScript,返回鍵),他不會有再次後或submited由瀏覽器重新提交要求。

一個非常好的例子,很容易理解這裏:http://wordsideasandthings.blogspot.com/2013/04/post-redirect-get-pattern-in-php.html

0

使用下面的PHP代碼返回按鈕

<a href="<?php echo $_SERVER['HTTP_REFERER']; ?>" > Back </a> 
2

我一直在尋找一個可靠的後退按鈕,這裏是我更喜歡的解決方案比history.go(-1)$_SERVER["HTTP_REFERER"]或其他使用像這樣的標題和會話技巧的其他人:
header('Cache-Control: no cache');,session_cache_limiter('private_no_expire'); 我發現對於我的應用程序同樣不可靠。

背景:我有一個搜索表單,可以進入結果集頁面。結果頁面具有典型的CRUD類型功能,可以使用GET和POST查看或編輯記錄。結果集頁面還包含指向其他子頁面的鏈接,以添加/編輯各種記錄詳細信息。用戶需要能夠導航到結果頁面和子頁面,並仍然能夠返回原始結果集。

解決方案:搜索表單將用戶發送到中間頁面,該頁面設置一些保留原始搜索參數的會話變量,然後將用戶引導至顯示結果集的頁面。

搜索頁面是一個基本的搜索表單,其中包含一個搜索字段和搜索值。

中間頁:使用

session_start(); 

// Unset the variable if it exists 
unset($_SESSION['search']); 
unset($_SESSION['field']); 
unset($_SESSION['value']); 

if (isset($_POST['search'])){ 
    $_SESSION['search'] = $_POST['search']; 
    $_SESSION['field'] = $_POST['field']; 
    $_SESSION['value'] = $_POST['value']; 
} 

// All sessions are set so redirect user to the results 
header('Location: https://www.yourwebsite.com/results.php'); 

後退按鈕代碼:

<a href='results.php'> &lt; Back </a> 

我很樂意聽到的話,任何人都可以在這個解決方案提高。如果有興趣,我會嘗試在小提琴或某個地方設置一個工作示例。

+0

我認爲小提琴會很好,雖然我不確定PHP是否有這樣的服務 – YakovL 2016-07-13 20:54:25