0

所以我建立了一个由 2 个页面组成的 php 系统。它们的功能是:

第 1 页:基本表单,用于输入数据,POST 到第 2 页。

第 2 页:从第 1 页加载输入数据,处理所有内容并进行适当的计算,然后获取结果数据并使用它来确定文件名或覆盖在主模板上。

它工作正常,我只是想知道是否可以在两个页面之间添加一个“中间人”,一个引擎,如果你愿意,它可以处理所有内容,而不是第 2 页必须这样做,然后它会自动发布到页面2完成后,它将加载结果并使用它们,但是,如果出现错误,它将重新加载第1页。我只是想尝试让事情更有条理和整洁。

多谢你们

4

2 回答 2

1

在“中间人”脚本中使用header- 但如果您已经在“中间人”脚本中使用 print/echo 进行了一些输出,它将不起作用:

header("Location: middlemanscript.php?".$yourVars);
于 2013-04-28T13:08:07.647 回答
1

将“业务逻辑”从“应用程序逻辑”和“表示层”中分离出来通常是一个好主意——尽管在 2 页应用程序上,这可能不是一个优先事项。

有很多设计可以实现这一点;最普遍接受的是“模型/视图/控制器”。有一堆 PHP 框架在 PHP 中实现 MVC;同样,对于 2 页应用程序而言,这可能有点矫枉过正,但如果您希望增长超过 2 页,则值得研究。

解决您的具体问题的方法:

  • 第 1 页发布到 formhandler.php。
  • Formhandler.php 验证数据并执行业务逻辑。如果数据有效,formhandler 将数据放入 session 并使用header函数将浏览器重定向到第 2 页;第 2 页从标题中获取数据并显示
  • 如果数据无效,formhalder 将错误消息和数据放入会话中,并用于header重定向回第 1 页。

Formhandler.php 中不应嵌入任何 HTML - 它只是执行业务逻辑。第 1 页和第 2 页应该没有业务逻辑,但可能有一些应用程序逻辑(例如,在第 1 页上显示错误消息)。

于 2013-04-28T13:19:54.697 回答