PHP中用于从一种形式导航到另一种形式的最佳设计实践

时间:2014-01-09 16:41:22

标签: php

我有一个应用程序,我在其中显示一个表单,以便用户可以根据姓氏搜索客户端记录。输入搜索参数后,将显示记录(可能有多个具有相同姓氏的客户端)。然后,我希望用户能够选择客户端记录,可能使用单选按钮,然后点击两个按钮之一:显示详细信息或创建预订。 “显示详细信息”按钮应显示包含所选记录详细信息的新显示。 “创建预订”按钮应该会显示一个带有自己处理的新表单。

现在,我知道我可以根据此登录信息进行设置

<?php
if (display button was pressed)
  {  
     php code to retrieve more data and display details
  }
else if (create reservation button was pressed)
{
    php code to generate and display the reservation form, with appropriate handling
 }
?>

使用搜索结果显示原始表单

问题是,我最终得到了非常丑陋,难以阅读的代码,因为生成和显示预订表单的php代码很长,需要自己的验证,数据库交互和表单处理。对于我面向Java的眼睛来说,代码看起来很丑陋而且非模块化。另外,处理预订表格的代码很蹩脚,有很多标志设置来确定我们是处于表单输入模式还是表单处理模式。我想要一个更清洁的方法来做到这一点。所以我的问题是,处理有多个按钮的情况的最佳做法是什么,并且与每个按钮相关的操作很复杂?

显然,我可以调用一个函数,但我仍然最终得到了丑陋的标志,确定了脚本所处的状态(我们是在显示预订表单还是处理它?)。我可以创建另一个php文件并包含它,但丑陋仍然存在。或者,我可以使用标头,并将会话变量中的客户端记录ID传递给新的PHP脚本。但这意味着从数据库中进行第二次不必要的检索以再次获取客户端信息。

我在网上看到的所有代码示例都显示了按下表单按钮后非常简单的处理。基于按钮进行复杂处理和显示第二种形式的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

您是否考虑过为您的网站使用Laravel等框架。在我看来,你必须“手动”这样做。由于您描述的复杂性,拥有一个包含路径和“内置”功能的系统(如Eloquent ORM)可能会为您简化操作。

答案 1 :(得分:1)

我会去使用ajax和丰富的jQuery插件(或其他一些框架)来做你想要的。

基本上,您将使用php读取数据和jQuery脚本来处理列表和功能,从而使其无法播放。你必须展示的信息将通过ajax。或者当您想要编辑时。

以下是您需要的更清晰的示例:

http://jqueryui.com/dialog/#modal-form