欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

CI表单数据回显函数set_value()改造

程序员文章站 2022-05-19 09:17:52
...
将CI的set_value()函数进行改造,可以处理数组形式的字段。
if ( ! function_exists('set_value'))
{
    function set_value($field = '', $default = '')
    {
        $field_orgin=$field;
        if(strpos($field,'[')){
            list($field,$item)=explode('[',str_replace(']','',$field));
        }

        if(isset($_GET[$field]) && ! isset($_POST[$field])){
            if(isset($item) && !empty($item) && ($_GET[$field][$item])){
                return form_prep($_GET[$field][$item], $field_orgin);
            }
            return form_prep($_GET[$field], $field_orgin);
        }

        if (isset($_POST[$field])){
            if(isset($item) && !empty($item) && ($_POST[$field][$item])){
                return form_prep($_POST[$field][$item], $field_orgin);
            }
            return form_prep($_POST[$field], $field_orgin);
        }

        if (FALSE !== ($OBJ =& _get_validation_object())){
            return form_prep($OBJ->set_value($field_orgin, $default), $field_orgin);
        }
        return form_prep($default, $field_orgin);
    }
}