2015-05-14 57 views
1

我有一個提交表單並提交表格時它會加載一個PHP像插入到數據庫和all.For可以追溯到提交表單的過程中,我 添加返回上一頁並在PHP中刷新它?

header("location:javascript://history.go(-1)"); 

但如何重新加載頁面(提交表單頁面,用戶可以看到提交的表單詳細信息)

+0

您不能只是重新加載頁面,並在窗體上的信息出現神奇。加載頁面時,檢查數據庫中是否存在數據,如果存在,則預先填充表單。 –

+1

當然你可以在表單中加入'action =「」'以便表單發佈到自身,然後在帖子上做一個檢查isset並插入到db中。填寫所有表單字段以獲取其發佈值的值。通過這種方式,他們提交表單,值保留在字段中,然後插入,您可以簡單地放置成功消息。如果發佈的值已設置,您甚至可以在字段上進行檢查,如果是這樣,請禁用輸入以使其無法重新提交 –

+0

PHP函數header()僅將HTTP頭髮送到瀏覽器。 您無需發送任何標題。您需要使用提交的數據填充表單來生成新的HTML頁面。 要做到這一點,你可以使用相同的PHP腳本生成裸頁形式的頁面,但將提交的數據放在HTML中適當的字段中。 –

回答

1

嘗試重定向到前一頁 redirectin會導致瀏覽器做出新的HTTP請求刷新頁面內容 ,讓你可以使用HTTP_REFERER以前的頁面地址

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

,這將導致瀏覽器重新 - 轉到前一頁

+0

它真的有效!非常感謝 –

+0

您不應該將其標記爲已接受嗎? – CaldasGSM

+0

這樣好嗎?並且非常感謝 –

0

提交表單數據後,您應該檢查數據是否存在。 如果存在,您將從數據庫中提取數據&呈現視圖文件。

喜歡的東西

function somthing() { 
    if($_POST[]) { 
     // inser data into DB 
     // then 
     // fetch last inserted row from DB 
     render view file with fetched row values 
    } 

    render view file without fetched row values 
} 
1

嘗試是這樣的:

<form method="POST" action=""> 
    <input type="text" name="surname" value="<?php echo $_POST["surname"]; ?>" <?php echo (empty($_POST['surname']) ? "" : "disabled='true'"); ?>> 
    <input type="submit" value="Submit" name="submit"> 
</form> 

<?php 
    if(isset($_POST['submit'])) 
    { 
     //insert to db 
     echo "success"; 
    } 
?> 
+0

這是很好的方法。但使用這個和問題解決$ previousPage = $ _SERVER [「HTTP_REFERER」]; header('Location:'。$ previousPage);非常感謝 –

0

這是不顯示的數據,以用戶之有道。你必須創建單獨的表單來提交值&顯示html上的值。每次用戶點擊它時,sql查詢運行&顯示相關數據。