2010-06-23 135 views
6

我發送一個POST請求到一個PHP頁面,並且根據內容是什麼我希望它返回我寫的兩個獨立的HTML頁面之一。如何返回HTML文件作爲對POST請求的響應?

+0

請出示一些代碼。你在哪裏發送POST請求?從頁面?在JavaScript中?在PHP中?使用什麼函數/庫? – 2010-06-23 20:10:31

回答

13
if ($_POST['param'] == 'page1') 
    readfile('page1.html'); 
else 
    readfile('other.html'); 
+1

+1:簡單的解決方案。 – 2010-06-23 20:11:03

2

你可以只include頁面要返回:

include('mypage.html'); 
+1

PHP可以包含許多文件類型。包含的文件可以很容易地成爲一個HTML文檔 - 它不必重新命名。 – 2010-06-23 20:11:27

+0

好點,只是更新了我的答案。 – 2010-06-23 20:12:43

1

就包括相關頁面

$someVar = $_POST['somevar']; 
if ($someVar == xxxxx) 
    include "page1.htm"; 
else 
    include "page2.htm"; 
1

有直接實現這個方法很多。您將需要檢查發佈到您的PHP腳本中的數據,並確定要呈現的兩個HTML文檔中的哪一個。

<?php 

    if (<your logical condition here>) { 
     include 'DocumentOne.html'; 
    } else { 
     include 'DocumentTwo.html'; 
    } 

?> 

這將工作,但不是很理想,發佈數據時 - 任何頁面重載需要對數據進行重新公佈。這可能會導致不可取消的影響(您的行爲是冪等的?)。

更合適的選擇是使用一個PHP腳本來確定要使用的輸出,然後將瀏覽器重定向到適當的內容。一旦用戶的瀏覽器已被重定向,頁面刷新將乾淨地重新加載頁面,而不會立即產生任何不利影響。

<?php 

    if (<your logical condition here> { 
     header('Location: http://example.com/DocumentOne.html'); 
    } else { 
     header('Location: http://example.com/DocumentTwo.html'); 
    } 

?> 
2

很容易

<?php 
if($_POST['somevalue'] == true){ 
    include 'page1.html'; 
}else{ 
    include 'page2.html'; 
} 
?>