在我正在编码的这个网站上,我有一个可以通过以下网址访问的页面:
http://site.com/campaigns/view/
显示所有广告系列的默认视图,并说出
http://site.com/campaigns/view/8
显示广告系列8的详细信息
在此页面上,我有一个表单,您可以从中添加特定广告系列的订阅者。 我的控制器逻辑是这样的:
$campaign_id = $this -> uri -> segment(3);
$this -> campaign_model -> get_campaign_details(3);
// Form was submitted
if ($this -> input -> post()) {
//code to check inputs and save subscriber
} else {
// Display page with campaign details
}
现在我的问题是,在else分支中,我将如何显示包含广告系列详细信息的页面。我试过了
redirect("campaigns/view/8")
这会创建一个重定向循环
$this -> load -> view("campaigns/view/".$campaign_id)
当然会尝试加载不存在的视图8.php。 那么我将如何实现这样的功能呢?
提前致谢!
吉姆
编辑:
如果没有帖子提交,我希望看到的是详细信息,其中包括订阅者列表,活动编号8,9等。
如果有帖子提交,我想再次看到详细信息页面,当然这次会包括新添加的用户。
再次提交 - >添加订阅者 - >再次详细查看等等。
答案 0 :(得分:0)
如果不是在帖子提交后,您需要具体说明在广告系列8的情况下您要输出的内容。 当然,重定向只会回到同一页面。
您希望看到什么样的行为发生?
答案 1 :(得分:0)
// If no `campaign_id` in the url, set campaign id to 0
$campaign_id = $this->uri->segment(3, 0);
$this->load->model('campaign_model');
// Form was submitted
if ($this->input->post()) {
//code to check inputs and save subscriber
}
if ($campaign_id > 0) {
$data['campaign_details'] = $this->campaign_model->get_campaign_details($campaign_id);
// Display page with campaign details
$this->load->view('campaign/details', $data);
}
else {
$data['campaign_list'] = $this->campaign_model->get_campaign_list();
// Display list of campaigns
$this->load->view('campaign/list', $data);
}