2014-03-01 22 views
0

我是Codeigniter的新手。作爲研究的一部分,我創建了一個將數據插入數據庫的表單。插入後,它不會正確地重定向到表單視圖頁面(formvalidation.php)。Codeigniter中的頁面重定向

錶行動

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"; 
     } 
    } 
} 

現在該值正在插入到數據庫中。但插入後,我想重定向到url http://www.example.com/codeigniter/index.php/formvalidation/。但相反,它現在重定向到http://www.example.com/codeigniter/index.php/formvalidation/submitform,其中提交表單是表單操作方法。

我怎樣才能解決這個問題?我嘗試在頁面重定向功能後放置exit;。但它不會工作。請幫我解決這個問題。

在此先感謝。

+0

可能重複:https://stackoverflow.com/questions/723883/redirect-with-codeigniter –

回答

1

首先在控制器索引函數中加載視圖頁面。

function index()
{
$this->load->view('v_bank_master');
}

插入完成然後在模型頁,後。給出下面的代碼。

redirect('give your controller page name here','refresh');

您的頁面重定向到視圖頁面插入後。

希望它能幫助你...

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

0

我使用重定向('yourControllerName','刷新')。

在這裏閱讀更多:Redirect()