我知道html表单不可能有两个动作,但也许有更好的方法让我完成我需要的东西。我有一个简单的表单,收集用户的电子邮件地址,并为常客联系人电子邮件列表签名。此外,电子邮件将提交给另一个控制器,该控制器显示一条感谢消息,其中包含表单中的$ email变量。我可以单独完成这两件事,但由于表单信息被发送到thankyou()和Constant Contact站点,因此无法让它们彼此同步工作。我确信有一种方法可以通过thankyou()控制器将这些数据发送到Constant Contact,我只是不知道该怎么做。
此外,我不能使用ajax,因为我需要在提交时显示不同的页面以跟踪感谢页面被查看的次数。
答案 0 :(得分:1)
使用flashdata,并将电子邮件地址存储在flashdata变量中。
$this->session->set_flashdata('email', $email);
请记住,如果flashdata未在下一个请求中使用,则需要“保留”该flashdata,否则它将消失。
$this->session->keep_flashdata('email');
然后,将视图的$email
变量设置为$this->session->flashdata('email');
答案 1 :(得分:0)
它应该是这样的: - 在视图中:
<form action="mycontroller/save">
</form>
在mycontroller中:
public function save(){
// Do whatever you have to do
$this->session->set_flashdata('email',$this->input->post('useremail'));
redirect('url to thankyou() controller');
}
IN thankyou控制器:
public function save(){
// Do whatever you have to do
$email = $this->session->flashdata('email');
$this->load->view('yourview',$email);
}