Assistente de Formulário
O Assistente de Formulário contem funções que auxiliam no trabalho com formulário.
Carregando este Assistente
Este assistente é carregado usando o seguinte código:
$this->load->helper('form');
As seguinte funções estão disponíveis:
form_open()
Cria uma tag de abertura de formulário com a URL base montada em cima de suas preferências de configuração. Permitirá que, opcionalmente, você adicione atributos e campos 'hidden'.
A principal vantagem de usar esta tag ao invés de codificar manualmente seu próprio HTML é que ela permite que seu site seja mais fácil de portar no caso de sua URL ser alterada.
Aqui está um exemplo simples:
echo form_open('email/send');
O exemplo acima criará um formulário que aponta para sua URL base mais os segmentos "email/send", desta maneira:
<form method="post" action="http:/www.seu-site.com/index.php/email/send" />
Adicionando Atributos
Atributos podem ser adicionados ao passar um array associativo como segundo parâmetro, desta maneira:
$attributes = array('class' => 'email', 'id' => 'meuform');
echo form_open('email/send', $attributes);
O exemplo acima criará um formulário semelhante a este:
<form method="post" action="http:/www.seu-site.com/index.php/email/send" class="email" id="meuform" />
Adicionando Campos Hidden
Campos Hidden podem ser adicionados ao passar um array associativo como terceiro parâmetro, desta maneira:
$hidden = array('username' => 'Jose', 'id_membro' => '234');
echo form_open('email/send', '', $hidden);
O exemplo acima criará um formulário semelhante a este:
<form method="post" action="http:/www.seu-site.com/index.php/email/send" class="email" id="meuform" />
<input type="hidden" name="username" value="Jose" />
<input type="hidden" name="id_membro" value="234" />
form_open_multipart()
Esta função é totalmente idêntica à tag form_open() acima, exceto pelo daoto de adicionar o atributo 'multipart', que é necessário se você deseja usar um formulário para fazer upload de arquivos.
form_hidden()
Permite gerar campos hidden. Você pode também enviar uma string nome/valor para criar um campo:
form_hidden('username', 'joaoninguem');
// Produzirá:
<input type="hidden" name="username" value="joaoninguem" />
Ou pode enviar um array associativo para criar múltiplos campos:
$dados = array(
'name' => 'João Ninguém',
'email' => 'joao@algum-site.com',
'url' => 'http://www.algum-site.com'
);
echo form_hidden($dados);
// Produzirá:
<input type="hidden" name="name" value="João Ninguém" />
<input type="hidden" name="email" value="joao@algum-site.com" />
<input type="hidden" name="url" value="http://www.algum-site.com" />
form_input()
Permite gerar um campo input text padrão. Você pode passar o 'name' e o 'value' do campo no primeiro e
segundo parâmetros:
echo form_input('username', 'joaoninguem');
Ou passar um array associativo contendo algum dado que deseje que o fomulário contenha:
$dados = array(
'name' => 'username',
'id' => 'username',
'value' => 'joaoninguem',
'maxlength' => '100',
'size' => '50',
'style' => 'width:50%',
);
echo form_input($dados);
// Produzirá:
<input type="text" name="username" id="username" value="joaoninguem" maxlength="100" size="50" style="width:50%" />
Se quiser que o formulário contenha algum dado adicional, como JavaScript, você pode passar isso como uma string no
terceiro parâmetro:
$js = 'onClick="some_function()"';
echo form_input('username', 'joaoninguem', $js);
form_password()
Esta função é idêntica em todos os aspectos à função form_input() acima exceto pelo fato de gerar um campo como type="password" (campo senha).
form_upload()
Esta função é idêntica em todos os aspectos à função form_input() acima exceto pelo fato de configurar o campo como type="file" (campo arquivo), permitindo o envio de arquivos ao servidor.
form_textarea()
Esta função é idêntica em todos os aspectos à função form_input() acima exceto pelo fato de gerar um campo "textarea". Nota: Ao invés dos atributos "maxlength" e "size" no exemplo acima, você especificará "rows" e "cols".
form_dropdown()
Permite criar um campo select padrão (drop-down). O primeiro parâmetro contém o nome do campo,
o segundo parâmetro conterá um array associativo de opções, e o terceiro parâmetro conterá o
valor que você deseja deixar como selecionado. Exemplo:
$opcoes = array(
'pequena' => 'Camisa Pequena',
'media' => 'Camisa Média',
'grande' => 'Camisa Grande',
'extragrande' => 'Camisa Extra-Grande',
);
echo form_dropdown('camisas', $opcoes, 'grande');
// Produzirá:
<select name="camisas">
<option value="pequena">Camisa Pequena</option>
<option value="media">Camisa Média</option>
<option value="grande" selected>Camisa Grande</option>
<option value="extragrande">Camisa Extra-Grande</option>
</select>
Se quiser que a tag de abertura <select> contenha dados adicionais, como JavaScript, você pode passá-los como uma string
no quarto parâmetro:
$js = 'onChange="some_function()"';
echo form_dropdown('camisas', $opcoes, 'grande', $js);
form_checkbox()
Permite gerar um campo checkbox. Exemplo simples:
echo form_checkbox('newsletter', 'aceitar', TRUE);
// Produzirá:
<input type="checkbox" name="newsletter" value="aceitar" checked="checked" />
O terceiro parâmetro conter um TRUE/FALSE boolenao que determina se o campo deverá vir marcado ou não.
Semelhante às outras funções de formulário neste assistente, você pode passar um array de atributos à função:
$dados = array(
'name' => 'novidades',
'id' => 'novidades',
'value' => 'aceitar',
'checked' => TRUE,
'style' => 'margin:10px',
);
echo form_checkbox($dados);
// Produzirá:
<input type="checkbox" name="novidades" id="novidades" value="aceitar" checked="checked" style="margin:10px" />
Como em outras funções, se quiser que a tag contenha dados adicionais, como JavaScript, você pode passá-los como uma string
no quarto parâmetro:
$js = 'onClick="some_function()"';
echo echo form_checkbox('novidades', 'aceitar', TRUE, $js)
form_radio()
Esta função é idêntica em todos os aspectos à função form_checkbox() acima exceto pelo fato de configurar o campo(input) como type="radio".
form_submit()
Permite você gerar um botão submit padrão. Exemplo simples:
echo form_submit('meusubmit', 'Enviar!');
// Produzirá:
<input type="submit" name="meusubmit" value="Enviar!" />
Semelhante a outras funções, você pode enviar um array associativo no primeiro parâmetro se preferir configurar seus próprios atributos. O terceiro parâmetro permite adicionar dados extar ao seu formulário, como Javascript.
form_close()
Gera a tag de fechamento </form>. A única vantagem de é que permite que você passe informações que serão adicionadas após a tag. Por exemplo:
$string = "</div></div>";
echo form_close($string);
// Produzirá:
</form>
</div></div>
form_prep()
Permite que use com segurança HTML e caracteres como "aspas" dentro dos elementos do formulário sem quebrá-los para fora do formulário. Considere este exemplo:
$string = 'Aqui está uma string contendo um texto com "aspas".';
<input type="text" name="meuform" value="$string" />
Mesmo que a string acima contenha "aspas" ela não causará a quebra do formulário. A função form_prep convert o HTML de modo que pode ser usado com segurança:
<input type="text" name="meuform" value="<?php echo form_prep($string); ?>" />
Nota: Se você usar alguma das funções do assistente de formulário listadas nesta página os valores do formulário serão "convertidos" automaticamente, enão não é preciso chamar esta função. Use somente se você estiver criando seus próprios elementos de formulário.