0

在我正在编码的这个网站上,我有一个可通过以下 url 访问的页面:

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 等。

如果有帖子提交,我想再次查看详细信息页面,这一次当然包括新添加的订阅者。

再次提交 -> 添加订阅者 -> 再次查看详细信息,依此类推。

4

2 回答 2

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);
} 
于 2013-05-19T23:06:18.397 回答
0

你需要具体说明你想在活动 8 的情况下输出什么而不是在提交后。当然重定向只是回到同一个页面。

你希望看到什么样的行为发生?

于 2013-05-19T23:01:11.293 回答