任何人都可以告诉我如何在控制器类中使用重定向。
我在下面写了代码:
控制器: -
<?php
class Login extends CI_Controller {
public function result()
{
$name = $this->input->post('name');
$email = $this->input->post('email');
$this->index();
redirect('/success', 'location');
}
}
查看: -
success.php
<?php
echo "Success page";
?>
它显示错误消息404找不到页面。 我在autoload类中加载了所有必需的辅助类。
答案 0 :(得分:1)
在Codeigniter中,重定向方法需要3个参数。
redirect('/controller_name/method_name', 'location', 301);
第一个参数是您要重定向的uri路径。第二个参数是可选的,采用“位置”方法(默认)或“刷新”方法。第三个可选参数是状态代码。您可以查看documentation上的详细信息。
修改强>
function success () {
$data["message"] = "Success";
$this->load->view("success", $data);
}
视图/ success.php
<?php echo $message; ?>
您必须在数组中传递数据,因为codeigniter使用extract方法在视图中传递值,以便您可以使用arrary键作为变量。
希望它对你有用。
答案 1 :(得分:1)
您需要做的只是重定向
示例:
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
}
答案 2 :(得分:1)
您可能有这三个文件
routes.php
您可以将路线设置为
$route['success'] = 'your_controller_name/your_method_name';
E.g。
$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>";?>