我想将多个参数传递给同一个控制器中的一个函数。这是我的重定向函数,当我运行此代码然后显示警告。
消息:缺少Welcome :: sendVerificatinEmail()
的参数2
redirect('welcome/sendVerificatinEmail/'.$name,$email ,$request_tracking_no);
答案 0 :(得分:4)
尝试:
redirect('welcome/sendVerificatinEmail/'.$name.'/'.$email.'/'.$request_tracking_no);
你的方法:
function sendVerificatinEmail($name, $email, $request_tracking_no){
//...
}
答案 1 :(得分:1)
在Codigniter重定向期间,所有后期数据都将被破坏,您必须使用会话变量来发送数据。 试试这个: 我希望有帮助
$data = array('param1'=>'ali','param2'=>55);
// store data to flashdata
$this->session->set_flashdata('data',$data);
// redirect to your controller
redirect('controller/method')
//in other side
$array = $this->session->flashdata('data');
实际上Codeigniter使用$ _SESSION,您可以直接使用会话而不是像这样的flash数据:
//first
$_SESSION['flash'] = implode('@',array(a,b,c));
//then
$flash = $_SESSION['flash'];
$array = explode('@',$flash);
unset($_SESSION['flash']); //free it