1

我有一个网站,其中大多数页面都显示了一个通用表单。表单代码位于单独的文件中,并在每个视图中加载,如下所示:

<?php $this->load->view('includes/quote'); ?>

我这样做是为了不必在每个控制器和视图中复制代码。表单数据将用于创建电子邮件。表单显示正确,但我不知道如何处理输入数据。由于涉及多个控制器,我是否需要创建一个单独的控制器来处理数据?处理这种情况的最佳方法是什么?

4

3 回答 3

0

Raheel 所说的(具有处理表单提交功能的通用控制器),或者创建一个库,当您需要进行处理时,您可以调用该库方法。

于 2012-09-18T08:20:36.503 回答
0

我会从每个控制器传递一个变量来识别当前正在使用的控制器。您可以使用它来更改表单的action属性,使其指向正确的控制器。

此外,您还可以使用该变量在表单中创建一个隐藏字段,因此,通过检查您的该变量,您$_POST将能够知道提交了哪个表单。

于 2012-09-18T08:26:28.217 回答
0

使用我的控制器,它将扩展 ci_controller。之后,每个控制器都会扩展 my_controller。在 my_controller 创建在所有其他控制器之间共享的方法。这样你就不必写它们了。它们将可用。同样,在每个控制器上,您都可以通过编写 ectra 代码提交表单,只需处理我的意思是您来自哪个控制器的 url。为此,请使用 current_url() 方法。这会有所帮助。

于 2012-09-18T07:23:32.520 回答