在URL

2013-05-19 21 views
0

ID在这个网站,我编码我有一个网页,通过以下网址浏览笨重新加载页面在URL

http://site.com/campaigns/view/8

其中显示了活动8

细节在此页面I H您可以从中添加订阅者到特定广告系列的表单。 我的控制器逻辑是这样的:

$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

Ahhhhh!我从来没有意识到代码是如何用' - >'周围的空格读取的! – Hailwood

+0

@Hailwood抱歉,我这样写,因为我的编辑突出了 - >只有当我有空间时! – jimmy

+0

'好吧,我只是在玩,这并不重要,代码风格是开发者的选择! – Hailwood

回答

0

你需要明确什么你想输出的情况下活动8时,不是后提交.. 当然,重定向只是回到同一页面。

您希望看到什么行为?

+0

如果没有帖子提交,我希望看到的是详细信息,其中包括用户名单,其中包括8号广告系列。 – jimmy

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); 
} 
+0

我仍然不认为这解决了我原来的问题。我想添加订阅者,然后循环回到活动的详细信息页面,然后添加另一个订阅者等。 – jimmy

+1

如果你在'campaign details/view/8'中,你可以用'action =“campaign/details/8”'显示/发送一个表单。因此,活动ID是已知的,您可以捕获POST变量,并将用户添加到#8活动,然后再决定要显示哪个视图,这将是新增订阅者的“campaign/details/8”。 –