0

我有 3 个 php 页面。

第一页:search.php

第二页:process.php

第三页:load.php

第一个页面获取用户输入并将其转发到第二个页面,第二个页面通过算法过滤输入。第一页如下:

<form id="search" name="frmSearch" method="Post" action="secondpage.php" target ="thirdpage.php">

  <p>
      <input type="text" id="from" name="txt_source" />
  </p>

  <p>
    <input type="text" id="to" name="txt_destination" />
  </p>

  <p>
    <input type="submit" name="btnSubmit" class="submi"/>
  </p>

</form>

如前所述,第二页 [secondPage.php] 过滤结果。部分代码是

$source = &$_POST['txt_source'];

$destination = &$_POST['txt_destination'];

.... 
....
...

输出为xml文档树格式如下

此 XML 文件似乎没有任何与之关联的样式信息。文档树如下所示。- - - - -- - - - - - - -- - -- - - -- - - -- - - -- - ....

第三页 [thirdPage.php] 应采用在第三页加载时从第二页显示的 xml 标记城市。

当第一页表单的输入被提交时,第二页被显示。然而,在使用

header('位置:thirdpage.php');

在第二页重定向到第三页,xml 文档树不加载。所以,我猜 header('location:thirdpage.php'); 效率低下。

有人可以帮忙或给个提示。我需要一种将页面重定向到第三页而不影响第二页内容的方法。谢谢。

4

2 回答 2

0

第一个.php

<form action="./second.php" method="post">

第二个.php

// do validation, afterwards redirect
header('third.php'); exit;

第三个.php

//print thirds' page data

如果你想“保留”第一页,而不是重定向到 third.php 页面,重定向到 first.php,然后在 first.php 中包含 third.php (include_once('third.php');

于 2012-05-10T06:51:26.277 回答
0

答案几乎是你自己给出的。

只需将您的表单更改为:

<form action="second.php" method="post" target="_blank">

这将打开一个新窗口,使第一个窗口保持不变。第三页最终会在新窗口中加载。

更新

当您想将转换后的数据从 page2(即 xml)传递到 page3 时,我建议:

  • 创建一个带有表单的页面,将整个 xml 添加为隐藏输入字段,并将其提交到 page3
  • 将 xml 的内容转储到会话变量或临时文件中,并让 page3 从那里加载它。
于 2012-05-10T07:32:13.670 回答