2010-06-23 132 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'; 
} 
?>