1

$this->load->view('page.php)'を使用すると、ブラウザの URL が変更されないことに気付きました。から来て../step_1.phpにロードした../step_2.php場合、URL は のままです../step_1.php

すべてのステップが 1 つのコントローラーで処理されるマルチステップ フォームを作成していますが、そのような状況を処理する最善の方法はload. 問題は、過去のページの URL を表示するのではなく、新しいページの URL を表示したいことです。これを達成できることはわかってredirect('page_controller')いますが、実際的ではありません (コントローラー内でのリダイレクト)。

なぜこれが起こるのか誰にも分かりますか?

編集:

このリンクから CI のビューとリダイレクトに関する説明を見つけました。

ビュー -> 前のページの URL のページを表示します

リダイレクト -> 独自の URL でページを表示します

4

2 に答える 2

1
function step_1()
{
    load_page($step_1);
}

ビューから load_page を呼び出す代わりに、上記のようにコントローラーでページを構築してから、適切なページを呼び出します。CI はコントローラ メソッドを URL として使用します。私の知る限り、この動作を変更する方法はありません。

于 2013-01-28T11:54:57.540 に答える
0
class test{
{
    public function view()
    {

      switch($this->uri->segment(2))
      {
      case $this->uri->segment(2) == 'part1':
        $this->load->view('part1');
      break;
      case $this->uri->segment(2) == 'part2':
          $this->load->view('part2');
      break;
      }

    }
}

また

class test{
{
    public function view($page)
    {

      switch($page)
      {
      case $page == 'part1':
        $this->load->view('part1');
      break;
      case $page == 'part2':
          $this->load->view('part2');
      break;
      }

    }
}




test/view/part1
will go to view part1
test/view/part2
will go to view part2

あなたはこのようなことを試すことができます、 これはテストされていませんエラーがあるかどうか教えてください

于 2013-01-28T10:55:07.603 に答える