3

我知道 html 表单不可能有两个操作,但也许有更好的方法来完成我需要的操作。我有一个简单的表格,它收集用户的电子邮件地址并为他们注册一个恒定联系电子邮件列表。此外,电子邮件被提交给另一个控制器,该控制器显示一条感谢消息,其中包含表单中的 $email 变量。我可以分别完成这两件事,但不能让它们彼此同步工作,因为表单信息被发送到thankyou() 和Constant Contact 站点。我确信有一种方法可以让我通过thankyou() 控制器将此数据发送给Constant Contact,我只是不知道该怎么做。

另外,我不能对此使用 ajax,因为我需要在提交时显示不同的页面以跟踪查看感谢页面的次数。

4

2 回答 2

1

使用flashdata,并将电子邮件地址存储在 flashdata 变量中。

$this->session->set_flashdata('email', $email);

请记住,如果在下一个请求中不使用 flashdata,您将需要“保留”它,否则它将消失。

$this->session->keep_flashdata('email');

然后,将$email视图的变量设置为$this->session->flashdata('email');

于 2012-12-06T15:06:12.663 回答
0

它应该是这样的: - 鉴于:

<form action="mycontroller/save">
</form>

在我的控制器中:

public function save(){
  // Do whatever you have to do
  $this->session->set_flashdata('email',$this->input->post('useremail'));
  redirect('url to thankyou() controller');

}

在谢谢控制器:

public function save(){
  // Do whatever you have to do
  $email = $this->session->flashdata('email');
  $this->load->view('yourview',$email);

}
于 2012-12-06T15:24:41.970 回答