如何在代码点火器控制器类中使用重定向


How to use redirect in codeigniter controller class?

任何人都可以告诉我如何在控制器类中使用重定向。

我写在下面的代码:

控制器:-

<?php
class Login extends CI_Controller {
public function result()
    {
    $name = $this->input->post('name');
    $email = $this->input->post('email');
    $this->index();
        redirect('/success', 'location');
    }   
}

视图:-

成功.php

<?php
   echo "Success page";
?>

它显示错误消息 404 找不到页面。我已经在自动加载类中加载了所有必需的辅助类。

您需要做的就是重定向

例:

public function index() {

redirect('controller_name'); 
// you may need to set controller name in routes do not need location
redirect('folder/controller_name'); 
// you may need to set controller name in routes do not need location
}

在Codeigniter中,重定向方法需要3个参数。

redirect('/controller_name/method_name', 'location', 301);

第一个参数是要重定向的 uri 路径。第二个参数是可选的,采用"位置"方法(默认)或"刷新"方法。第三个可选参数是状态代码。您可以查看文档的详细信息。

编辑

function success () {
    $data["message"] = "Success";
    $this->load->view("success", $data);
}

视图/成功.php

<?php echo $message; ?>

您必须在数组中传递数据,因为代码点火器使用提取方法在视图中传递值,以便您可以将 arrary 键用作变量。

希望对您有用。

您可能有这三个文件

routes.php

可以设置路线的位置
$route['success'] = 'your_controller_name/your_method_name';

例如

$route['success'] = 'my_controller/success';

然后在your_controller.php 中,您有一个方法

function success() {
  $data['msg'] = "Success";
  $this->load->view('success',$data);
}

在您的success.php之内

<?php echo "<h3>".$msg."<h3>";?>