如何在Codeigniter中从一页重定向到另一页

时间:2018-06-20 08:01:13

标签: php codeigniter

我不知道如何实现这种代码点火器概念。
如果单击链接,如何将页面重定向到另一页面?

Main1.php

        <?php 

            class Main1 extends CI_Controller { 

                public function index() { 
                    //Load the URL helper
                    $this->load->helper('url'); 

                    //Redirect the user to some site
                    redirect('http://localhost/CodeIgniter/index.php/Main'); 

                   $this->load->view('test1'); 
                } 
            } 
        ?>

test1.php

    <!DOCTYPE html>
    <html>
        <head>
            <title>view page</title>
        </head>
        <body style="padding-top:50px; padding-left:300px">
                <h1 style="color:red"> Without Extension </h1>
                <a href="">Visit With Extension Example</a>
        </body>
    </html>

Main.php

    <?php 

        class Main extends CI_Controller { 

            public function index() { 
                $this->load->view('test.html'); 
            } 
        } 
    ?>

test.html

    <!DOCTYPE html>
    <html>
        <head>
            <title>view page</title>
        </head>
        <body style="padding-top:50px; padding-left:300px">
                <h1 style="color:red"> With Extension </h1>

        </body>
    </html>

4 个答案:

答案 0 :(得分:0)

您可以使用redirect();,如下所示。

redirect('controllerName/methodName','refresh'); 

或 如果要在同一控制器中重定向。

$this->methondName;

您的代码应该是这样

 <?php 

    class Main1 extends CI_Controller { 

        public function index() { 
            //Load the URL helper
            $this->load->helper('url'); 

            //Redirect the user to some site
            redirect('Main/index','refresh'); 

        } 
    } 
?>

答案 1 :(得分:0)

假设您要从控制器Main1重定向到Main。 Main1加载test1.php视图,它应该包含一种从一个视图重定向到另一个视图的方法,例如按钮或链接。您应该使用.php扩展名而不是.html来利用php。认为这是最佳做法,应避免在控制器内调用控制器,这是通常的做法,通常与MVC保持一致。

Test1.php

<!DOCTYPE html>
    <html>
        <head>
            <title>view page</title>
        </head>
        <body style="padding-top:50px; padding-left:300px">
                <h1 style="color:red"> With Extension </h1>
                <a href="<?php echo site_url("Main/"); ?>">Visit With Extension Example</a>
        </body>
    </html>

如果您呼叫Main,则将处理控制器。无需在控制器内部使用重定向。

<?php 

class Main extends CI_Controller { 
    public function index() {
       $this->load->view('test'); 
    } 
} 
?>

答案 2 :(得分:0)

在Main1.php索引函数中,重定向后加载视图。这是不可能的。

Main1.php       

            class Main1 extends CI_Controller { 

                public function index() { 
                    //Load the URL helper
                    $this->load->helper('url'); 

//display test1 page
                   $this->load->view('test1'); 
                } 
            } 
        ?>

test1.php

  <!DOCTYPE html>
    <html>
        <head>
            <title>view page</title>
        </head>
        <body style="padding-top:50px; padding-left:300px">
                <h1 style="color:red"> Without Extension </h1>
                <a href="http://localhost/CodeIgniter/index.php/Main">Visit With Extension Example</a>
        </body>
    </html>

Main.php

load-> view('test.html');         }     } ?>

test.html

<!DOCTYPE html>
<html>
    <head>
        <title>view page</title>
    </head>
    <body style="padding-top:50px; padding-left:300px">
            <h1 style="color:red"> With Extension </h1>

    </body>
</html>

这是一个小错误。.请继续使用codeigniter

答案 3 :(得分:0)

您可以使用

redirect('controllerName/methodName','refresh');在您的控制器中,或者如果您只想加载上一页,则可以使用redirect($_SERVER['HTTP_REFERER']);