2011-10-28 73 views
1

codeigniter覆蓋set_value函數在表單助手使用MY_helper重新填充字段在get,post both和while驗證。我使用CI的版本是2.0.3 我在應用程序/傭工創建My_form_helper.php /並添加功能codeigniter覆蓋set_value函數在表單助手使用MY_helper重新填充字段get,post兩個

function set_value($field = '', $default = '') 
{ 
    if (FALSE === ($OBJ =& _get_validation_object())) 
    { 
     if (isset($_POST[$field])) 
     { 
      return form_prep($_POST[$field], $field); 
     } 
     if (isset($_GET[$field])) 
     { 
      return form_prep($_GET[$field], $field); 
     } 

     return $default; 
    } 

    return form_prep($OBJ->set_value($field, $default), $field); 
} 

,但它不工作。

in autoload.php我這樣做 - > $ autoload ['helper'] = array('html','form','url','my','text','MY_form'); 它說無法加載my_form_helper.php

+0

「不工作」是什麼意思?錯誤?空白值?什麼?另外,你怎麼稱呼這個幫手? –

+0

@DamienPirsy在application/config助手的autoload.php中添加了。 – amolv

+0

http://stackoverflow.com/questions/4740430/explain-ci-get-instance這裏很有用,但實例沒有使用set_value函數 – amolv

回答

0

在助手文件名稱似乎有大寫字母的問題。看起來,codeigniter將幫助器名稱轉換爲全部小寫,然後找到該文件。

嘗試幫助文件:my_form_helper.php然後檢查。它應該工作。

+0

是的,在自定義幫助器中,我們創建實例就是上面函數中需要的那種東西,那裏直接使用isset($ _ GET [$ field])。 – amolv

+0

我不太理解你的評論,但我的答案是關於CodeIgniter抱怨「無法加載my_form_helper.php」。這可能是因爲你的助手文件名中有大寫字母。嘗試將其更改爲全部小寫,並且CodeIgniter應該能夠加載它。 – Vikk

+0

oho請看看函數,提示:在助手中,我們不會使用$ this這樣的視圖/控制器 – amolv

相關問題