codeigniterはフォームヘルパーのset_value関数を上書きし、get、postの両方でフィールドを再作成するためにMY_helperを使用します

codeigniterフォームヘルパーのset_value関数を無効にして、get、postとbothの両方でフィールドを再作成し、検証しません。私はciのバージョンを使用して2.0.3です 私は、アプリケーション/ヘルパー/にMy_form_helper.phpを作成し、関数を追加しました。

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 i am doing this -> $autoload['helper'] = array('html','form','url','my','text','MY_form'); it says unable to load my_form_helper.php

1
「働いていない」とはどういう意味ですか?エラー?空白の値ですか?何?また、どのようにこのヘルパーと呼んでいますか?
追加された 著者 Damien Pirsy,
application/configヘルパーのautoload.phpの@DamienPirsyが追加されました。
追加された 著者 amolv,
ここでは有用ですが、インスタンスは使用されませんset_value関数
追加された 著者 amolv,

1 答え

ヘルパーファイル名に大文字の問題があるようです。 codeigniterはヘルパー名をすべて小文字に変換してファイルを探し出すようです。

ヘルパーファイル( my_form_helper.php )を試してから、チェックしてください。それは動作するはずです。

0
追加された
私はあなたのコメントをよく理解していませんでしたが、私の答えは "my_form_helper.phpを読み込めません"という苦情を受けたCodeIgniterに関するものでした。ヘルパーのファイル名に大文字が含まれている可能性があります。すべて小文字に変更してください。CodeIgniterはそれをロードできるはずです。
追加された 著者 Vikk,
はい、カスタムヘルパーでインスタンスを作成するのは、上記の関数で必要とされる種類のものです。直接isset($ _GET [$ field])が使用されています。
追加された 著者 amolv,
ohoは関数を見てください。ヒント:ヘルパーでは、ビュー/コントローラのように$ thisを使用しません
追加された 著者 amolv,
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

このグループではPHPについて話します。 パートナー:kotaeta.com