我是Codeigniter的新手。作为研究它的一部分,我创建了一个将数据插入数据库的表单。插入后,它没有正确地重定向到表单视图页面(formvalidation.php)。
表单操作
public function submitform()
{
$formdata['username']=$this->input->post('username');
$formdata['address']=$this->input->post('address');
$formdata['state']=$this->input->post('state');
$formdata['country']=$this->input->post('country');
$data['state']=$this->getstatearray();
$data['country']=$this->getcountries();
if($this->userprofile_model->setdata($formdata)=='success')
{
$this->load->view('formvalidation/formvalidation',$data);
}
else
{
$this->load->view('formvalidation/formvalidation',$data);
}
}
表单视图页面(formvalidation.php)
echo form_open('formvalidation/submitform');
echo form_input('username');
echo "<br>".form_textarea("address");
echo "<br>".form_dropdown('state',$state);
echo "<br>";
echo form_dropdown('country',$country);
echo "<br><br>".form_submit('submit','Submit');
echo form_close();
模型(userprofile_model.php)
class userprofile_model extends CI_Model {
public function __construct()
{
$this->load->database();
}
public function setdata($data)
{
$this->db->insert('userprofile',$data);
if($this->db->affected_rows()>0)
{
echo "success";
}
else
{
echo "fail";
}
}
}
现在该值已插入数据库。但插入后我想将其重定向到网址http://www.example.com/codeigniter/index.php/formvalidation/。但相反,它现在重定向到http://www.example.com/codeigniter/index.php/formvalidation/submitform,其中 submitform 是表单操作方法。
我该如何解决这个问题?我尝试在页面重定向功能之后放置exit;
。但它不会起作用。请帮我解决这个问题。
提前致谢。
答案 0 :(得分:2)
是的,因为没有重定向代码。提交表单后,将执行submitform
函数,并在该函数中加载视图。所以如果你想重定向
要做其他事情,你必须使用redirect()
函数。
public function submitform()
{
$formdata['username']=$this->input->post('username');
$formdata['address']=$this->input->post('address');
$formdata['state']=$this->input->post('state');
$formdata['country']=$this->input->post('country');
$data['state']=$this->getstatearray();
$data['country']=$this->getcountries();
if($this->userprofile_model->setdata($formdata)=='success'){
redirect("Your URL");
}
else{
redirect("Your URL");
}
}
此外,您必须正确清理用户输入。您必须先验证表单输入,然后再将其传递给模型。您可以找到更多信息here
答案 1 :(得分:1)
首先在控制器索引功能中加载视图页面。
function index()
{
$this->load->view('v_bank_master');
}
然后在模型页面中,插入完成后。给出以下代码。
redirect('give your controller page name here','refresh');
现在,您的页面会在插入后重定向到视图页面。
希望它能帮到你......
答案 2 :(得分:0)
我使用redirect('yourControllerName','refresh')。
在此处阅读更多内容:Redirect()
答案 3 :(得分:0)
插入后输入以下代码
redirect('controller_name/function_name');