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 に答える