このエントリーをはてなブックマークに追加

更新日: 2016年2月25日

実行時間: 0.0317

FORMヘルパー

 FORMヘルパーは「 system/helper/form_helper.php 」ファイルで、HTMLのFROMで利用されるタグを出力する 関数が定義されています。

FORMヘルパーのロード

 「 CI_Loader 」クラスの「 helper() 」メソッドでロードします。

    $this->load->helper('form');

FORMヘルパーの関数

form_open($action = '', $attributes = '', $hidden = array())

 「<form>」開始タグを生成して返します。

    echo form_open();
    // <form action="http://www.ci-guide.info" method="post" accept-charset="utf-8">

 第一引数は「action=""」属性の値を指定します。デフォルトは「CI_Config」クラスの 「site_url()」メソッドで取得できる値になります。

    echo form_open('/user/login/');
    // <form action="/user/login/" method="post" accept-charset="utf-8">

 第二引数は、「action=""」属性以外の属性を文字列、または、連想配列で指定します。 デフォルトは「method="post" accept-charset="文字コード"」です。
(文字コードは「application/config/config.php」設定ファイルの「charset」設定値です。)

    echo form_open(NULL, 'name="login" class="login"');
    // <form action="http://www.ci-guide.info/" name="login"
        class="login" method="post" accept-charset="utf-8">

 第三引数には、「type="hidden"」属性の「<input>」タグを追加するための連想配列を指定することができます。

    $hidden['id'] = '123';
    $hidden['info'] = 'xyz';
    echo form_open(NULL, NULL, $hidden);
    // <form action="http://www.ci-guide.info" method="post">
    // <input type="hidden" name="id" value="123" />
    // <input type="hidden" name="info" value="xyz" />

form_open_multipart($action = '', $attributes = array(), $hidden = array())

 「encrypt="multipart/form-data"」属性を持つ「<form>」タグを生成して返します。

 引数の指定は、「form_open()」関数と同じです。

    echo form_open_multipart();
    // <form action="http://www.ci-guide.info" method="post"
        accept-charset="utf-8" enctype="multipart/form-data">

form_hidden($name, $value = '')

 第一引数には、「type="hidden"」属性の「<input>」タグの「name=""」属性値、 第二引数には「value=""」属性のの値を指定します。

    echo form_hidden('id', '123');
    // <input type="hidden" name="id" value="123" />

また、連想配列で指定することもできます。

    $hidden['id'] = '123';
    $hidden['info'] = 'xyz';
    echo form_hidden($hidden);
    // <input type="hidden" name="id" value="123" />
    // <input type="hidden" name="info" value="xyz" />

form_input($data = '', $value = '', $extra = '') 一番上に戻る

 「<input>」タグを生成して返します。

 第一引数と、第二引数に文字列を指定すると、それぞれ、「name=""」属性値、「value=""」属性値とした 「type="text"」属性の「<input>」タグを生成して返します。

    echo form_input('username', '');
    // <input type="text" name="username" value="" />

 属性名と属性値を連想配列で指定することも可能です。
「type=""」属性を定義していない場合は、「type="text"」で生成されます。

    $input['name'] = '';
    echo form_input($input);
    // <input type="text" name="username" value="" />

 第三引数には、「type=""」「name=""」「value=""」属性以外の属性を文字列で指定できます。

    $input['name'] = '';
    $extra = 'class="input-text"';
    echo form_input($input, NULL, $extra);
    // <input type="text" name="username" value="" class="input-text" />

form_password($data = '', $value = '', $extra = '') 一番上に戻る

 「type="password"」属性の「<input>」タグを生成して返します。

 引数の指定方法は「form_input()」関数と同じです。

    echo form_password('login_pass', '');
    // <input type="password" name="login_pass" value="" />

form_upload($data = '', $value = '', $extra = '') 一番上に戻る

 「type="file"」属性の「<input>」タグを生成して返します。

 引数の指定方法は「form_input()」関数と同じです。

    echo form_upload('user_img', '');
    // <input type="file" name="user_img" value="" />

form_textarea($data = '', $value = '', $extra = '') 一番上に戻る

 「<textarea>」タグを生成して返します。

 第一引数には、「name=""」属性値を指定します。第二引数には「<textarea>」「</textarea>」タグ で囲まれる文字列を指定します。
 「cols=""」属性値は「40」、「rows=""」属性値は「10」となります。

    echo form_textarea('comment', 'Hello, ci-guide.');
    // <textarea name="comment" cols="40" rows="10">Hello, ci-guide.</textarea>

 属性データを連想配列で指定することもできます。
「cols=""」属性と「rows=""」属性を定義しない場合はデフォルト値がそれぞれ「40」と「10」としてセットされます。

    $attr['name'] = 'comment';
    $attr['value'] = 'Hello, ci-guide.';
    $attr['cols'] = 60;
    echo form_textarea($attr);
    // <textarea name="comment" cols="60" rows="10">Hello, ci-guide.</textarea>

form_dropdown($name = '', $options = array(), $selected = array(), $extra = '')

 「<select>」タグを生成して返します。

 第一引数には、「name=""」属性値を指定します。
 第二引数には、「<option>」タグを生成するための連想配列を指定します。この連想配列の添え字
(インデックスキー)部は「value=""」属性、連想配列の値が「<option>」と「</option>」タグに囲まれる
文字列になります。

    $options = array (
        '1' => '1年生',
        '2' => '2年生',
        '3' => '3年生',
    );
    echo form_dropdown('grade', $options);
    /*
    <select name="grade">
    <option value="1">1年生</option>
    <option value="2">2年生</option>
    <option value="3">3年生</option>
    </select
    */

 第三引数には、「selected="selected"」属性を付ける「<option>」タグを指定する第二引数で指定した 連想配列の添え字(インデックスキー)文字列、または、配列を指定します。
 配列で指定した場合は、「<select>」タグに「multiple="multiple"」属性が付きます。

    $options = array (
        '1' => '1年生',
        '2' => '2年生',
        '3' => '3年生',
    );
    echo form_dropdown('grade', $options, '2');
    /*
    <select name="grade">
    <option value="1">1年生</option>
    <option value="2" selected="selected">2年生</option>
    <option value="3">3年生</option>
    </select
    */


    $select = array('1', '3');
    echo form_dropdown('grade', $options, $select);
    /*
    <select name="grade" multiple="multiple">
    <option value="1" selected="selected">1年生</option>
    <option value="2">2年生</option>
    <option value="3" selected="selected">3年生</option>
    </select
    */


form_multiselect($name = '', $options = array(), $selected = array(), $extra = '')

 「multiple="multiple"」属性を持つ「<select>」タグを生成して返します。

 引数の指定方法は「form_dropdown()」関数と同じです。

    $options = array (
        'apple' => 'リンゴ',
        'grape' => 'ブドウ',
        'kiwi' => 'キウイ',
    );
    $select = array ('grape', 'kiwi');
    echo form_multiselect('favorite', $options, $select);
    /*
    <select name="favorite" multiple="multiple">
    <option value="apple">リンゴ</option>
    <option value="grape" selected="selected">ブドウ</option>
    <option value="kiwi" selected="selected">キウイ</option>
    </select
    */


form_checkbox($data = '', $value = '', $checked = FALSE, $extra = '') 一番上に戻る

 「type="checkbox"」属性の「<input>」タグを生成して返します。

 第一引数には、「name=""」属性値を指定します。
 第二引数には「value=""」属性値を指定します。
 第三引数に、TRUEを指定すると「checked="checked"」属性をつけます。

    echo form_checkbox('apple', 'yes');
    echo form_checkbox('grape', 'yes', TRUE);
    /*
    <input type="checkbox" name="apple" value="yes" />
    <input type="checkbox" name="grape" value="yes" checked="checked" />
    */

 第一引数には属性名と、属性値で構成する連想配列を指定することもできます。
その場合は、第二引数は利用されないので第三引数以降を指定する場合は第二引数にはNULL を指定すると良いでしょう。

    $data = array (
        'name' => 'apple',
        'value' => 'yes',
        'checked' => '',
    );
    echo form_checkbox($data);
    $data = array (
        'name' => 'grape',
        'value' => 'yes',
        'checked' => 'checked',
    );
    echo form_checkbox($data);
    /*
    <input type="checkbox" name="apple" value="yes" />
    <input type="checkbox" name="grape" value="yes" checked="checked" />
    */

form_radio($data = '', $value = '', $checked = FALSE, $extra = '') 一番上に戻る

 「type="radio"」属性の「<input>」タグを生成して返します。

 引数の指定方法は「form_checkbox()」関数と同じです。

    echo form_radio('apple', 'yes');
    echo form_radio('grape', 'yes', TRUE);
    /*
    <input type="radio" name="apple" value="yes" />
    <input type="radio" name="grape" value="yes" checked="checked" />
    */
    $data = array (
        'name' => 'apple',
        'value' => 'yes',
        'checked' => '',
    );
    echo form_radio($data);
    $data = array (
        'name' => 'grape',
        'value' => 'yes',
        'checked' => 'checked',
    );
    echo form_radio($data);
    /*
    <input type="radio" name="apple" value="yes" />
    <input type="radio" name="grape" value="yes" checked="checked" />
    */

form_submit($data = '', $value = '', $extra = '') 一番上に戻る

 「type="submit"」属性の「<input>」タグを生成して返します。

 第一引数には、「name=""」属性値を指定します。
 第二引数には、「value=""」属性値を指定します。

    echo form_submit('setup', '送信');
    // <input type="submit" name="setup" value="送信" />

 第一引数には属性名と、属性値で構成する連想配列を指定することもできます。

    $attr = array (
        'name' => 'setup',
        'value' => '送信',
    );
    echo form_submit($attr);
    // <input type="submit" name="setup" value="送信" />

form_reset($data = '', $value = '', $extra = '') 一番上に戻る

 「type="reset"」属性の「<input>」タグを生成して返します。
 引数の指定方法は「form_submit()」関数と同じです。

    echo form_reset('clear', 'クリア');
    // <input type="reset" name="clear" value="クリア" />
    $attr = array (
        'name' => 'clear',
        'value' => 'クリア',
    );
    echo form_reset($attr);
    // <input type="reset" name="clear" value="クリア" />

form_button($data = '', $content = '', $extra = '') 一番上に戻る

 「type="button"」属性の「<input>」タグを生成して返します。  引数の指定方法は「form_submit()」関数と同じです。

    echo form_button('setup', '送信');
    // <input type="reset" name="setup" value="送信" />
    $attr = array (
        'name' => 'setup',
        'value' => '送信',
        'onclick' => 'js_func();',
    );
    echo form_button($attr);
    // <input type="button" name="setup" value="送信" onclick="js_func();'/>

form_label($label_text = '', $id = '', $attributes = array()) 一番上に戻る

 「<label for="">」タグを生成して返します。

 第一引数には、「<label>」タグに囲まれる文字列を指定します。
 第二引数には、「for=""」属性値を指定します。
 第三引数には、その他の属性を連想配列で指定することもできます。

    echo form_label('リンゴ', 'chk_apple');
    // <label for="chk_apple"">リンゴ</label>

form_fieldset($legend_text = '', $attributes = array()) 一番上に戻る

 「<fieldset>」の開始タグを生成して返します。併せて「<legend>」タグも生成することができます。

 第一引数には、「<legend>」タグに囲まれる文字列を指定します。
 第二引数には、属性情報を連想配列で指定することもできます。

    echo form_fieldset('基本情報');
    /*
    <fieldset>
    <legend>基本情報</legend> */

form_fieldset_close($extra = '') 一番上に戻る

 「<fieldset>」の閉じタグ「</fieldset>」を生成して返します。

引数に文字列を指定すると「</fieldset>」閉じタグの後にその文字列を付加します。

    echo form_fieldset_close();
    // </fieldset>

form_close($extra = '') 一番上に戻る

 「<form>」の閉じタグ「</form>」を生成して返します。

引数に文字列を指定すると「</form>」閉じタグの後にその文字列を付加します。

    echo form_close();
    // </form>

form_prep($str = '', $field_name = '') 一番上に戻る

 文字列をHTMLタグの属性値として利用できる形にサニタイズします。
直接属性値をHTMLに埋め込む場合に利用します。
(FORMヘルパーのHTMLタグを生成する関数の内部では「form_prep()」関数で属性値をサニタイズしています。)

    <input type="submit" name="send" value="<?php echo form_prep("Let's Go."); ?>">
    <input type="submit" name="send" value="Let&#39;s Go.">

set_value($field = '', $default = '') 一番上に戻る

 クライアントから送信された'POST'データから値を取得し、サニタイズしたデータを再度、 FORMフィールドにセットできるようします。
 もし、「CI_Form_validation」ライブラリクラスを 利用している場合は、バリデーションルールを通った値を取得します。

    <input type="text" name="login_id" value="<?php echo set_value('loginid', '');?>">
    <input type="text" name="loginid" value="00123">

set_select($field = '', $value = '', $default = FALSE) 一番上に戻る

 再度FORMを表示する際に、クライアントから送信された'POST'データの情報から「<select>」タグで選択された 「<option>」タグを判別し、選択されたセレクト情報であれば「selected="selected"」属性を返します。

 第一引数には、「<select>」タグの「name=""」属性値を指定します。
 第二引数には、「<opetion>」タグの「value=""」属性値を指定します。
 第三引数には、'POST'データに選択されたセレクト情報が含まれていない場合のデフォルトとして 「selected="selected"」属性が必要かどうかTRUE、または、 FALSEを指定します。

 もし、「CI_Form_validation」ライブラリクラスを 利用している場合は、バリデーションルールを通った値から判定します。。

    <select name="grade">
    <option value="1" <?php echo set_select('grade', '1', TRUE); ?> >1年生</option>
    <option value="2" <?php echo set_select('grade', '2'); ?> >2年生</option>
    <option value="3" <?php echo set_select('grade', '3'); ?> >3年生</option>
    </select>
    <select name="grade">
    <option value="1">1年生</option>
    <option value="2" selected="selected">2年生</option>
    <option value="3">3年生</option>
    </select>

set_checkbox($field = '', $value = '', $default = FALSE) 一番上に戻る

 再度FORMを表示する際に、クライアントから送信された'POST'データの情報から「type="checkbox"」属性の 「<input>」タグでチェックされた「<name="">」属性を判別し、チェックされ情報であれば 「checked="checked"」属性を返します。

 第一引数には、「name=""」属性値を指定します。
 第二引数には、「value=""」属性値を指定します。
 第三引数には、'POST'データにチェックされた情報が含まれていない場合のデフォルトとして 「checked="checked"」属性が必要かどうかTRUE、または、 FALSEを指定します。

 もし、「CI_Form_validation」ライブラリクラスを 利用している場合は、バリデーションルールを通った値から判定します。。

    <input type="checkbox" name="apple" value="yes"
        <?php echo set_checkbox( 'apple', 'yes', TRUE />
    <input type="checkbox" name="grape" value="yes"
        <?php echo set_checkbox( 'grape', 'yes' />
    <input type="checkbox" name="apple" value="yes" checked="checked" />
    <input type="checkbox" name="grape" value="yes" checked="checked" />

set_radio($field = '', $value = '', $default = FALSE) 一番上に戻る

 再度FORMを表示する際に、クライアントから送信された'POST'データの情報から「type="radio"」属性の 「<input>」タグでチェックされた「<name="">」属性を判別し、チェックされ情報であれば 「checked="checked"」属性を返します。

 引数の指定方法は「set_checkbox()」関数と同じです。

    <input type="radio" name="apple" value="yes"
        <?php echo set_radio( 'apple', 'yes', TRUE />
    <input type="radio" name="grape" value="yes"
        <?php echo set_radio( 'grape', 'yes' />
    <input type="radio" name="apple" value="yes" />
    <input type="radio" name="grape" value="yes" checked="checked" />

form_error($field = '', $prefix = '', $suffix = '') 一番上に戻る

 「CI_Form_validation」ライブラリクラスの「error()」 メソッドのラッパー関数です。
 「CI_Form_validation」ライブラリクラス利用時に実行することができます。

 利用方法は、「CI_Form_validation」ライブラリクラス 「error()」メソッドの説明を参照してください。


validation_errors($prefix = '', $suffix = '') 一番上に戻る

 「CI_Form_validation」ライブラリクラスの 「error_string()」 メソッドのラッパー関数です。
 「CI_Form_validation」ライブラリクラス利用時に実行することができます。

 利用方法は、「CI_Form_validation」ライブラリクラス 「error_string()」メソッドの説明を参照してください。