Formulário

1. Formulário

Fernanda
fernandamelia

(usa Conectiva)

Enviado em 14/11/2005 - 11:07h

Como faço para cadastrar um formulário no banco qdo o fomulario tem várias etapas ( páginas ) diferentes?
O que faço para qdo apertar "AVANÇAR", ele continuar cadastrando na mesma linha ( registro ) do banco.



  


2. O jeito mais simples

Willie Moraes Oliveira
asclows

(usa Slackware)

Enviado em 14/11/2005 - 14:59h

Para não perder os dados durante a navegação das etapas do cadastro você pode utilizar estes passos que descrevo abaixo:

a) Na primeira página na propriedade "action" do formulário defina como sendo a próxima a ser chamada:

<form action="pagina2.php" method="post">

b) Na segunda página atribua as variáveis que acabaram de serem passadas pela página1.php à propriedade value de campos ocultos que devem ser incluídos no form da página2.html

<input name="campo_pag1" type="hidden" value="<?php echo $_POST['campo_pag1']?>" >

c) Faça do mesmo modo para enviar de pagina2.php até que se chegue ao fim do cadastro. Quando for o momento de finalizar o cadastro aponte o formulário para um script de cadastro no banco.

<form action="cadastra.php" method="post" >

d) Neste script você receberá todas as variáveis e poderá cadastrar como deseja.

$var1 = $_POST['campo1_pag1'];
$var2 = $_POST['campo2_pag1'];
$var3 = $_POST['campo1_pag2'];
$var4 = $_POST['campo1_pag3'];

Conecte-se ao banco, escolha a base e insira normalmente os dados com uma string que inclua suas variáveis.

$sql = "insert into SUA_TABELA VALUES( '$var1', '$var2', '$var3', '$var4' )";
mysql_query($sql);

Se precisar de algo que manipule melhor a interação com usuário nos explique como deseja trabalhar detalhadamente.


3. PEAR HTML:QuickForm

Eduardo Cereto Carvalho
dudus

(usa Ubuntu)

Enviado em 15/11/2005 - 03:48h

O PEAR tem uma classe só para isso que se chama <a href="http://pear.php.net/package/HTML_QuickForm_Controller">QuickForm_Controller</a>.

Essa classe extende uma outra classe do PEAr que é o próprio QuickForm (http://pear.php.net/package/HTML_QuickForm).

Se você não conhece o PEAR trate de conhecer. É um repositório oficial de código do php. Amplamente usado e testado.

O QuickForm_Controller eu nunca precisei usar. Mas o QuickForm eu uso em todo e qualquer projeto meu que tenha um formulário web. É uma maneira bem mais elegante e simples de construir e manter seus formulário HTML usando php.


4. POO em JavaScript

Perfil removido
removido

(usa Nenhuma)

Enviado em 21/11/2005 - 13:10h

Eu costumo criar classes JavaScript para manipular os campos dos meus formulários, então eu armazeno os valores desses campos no objeto JS (instancia da classe que criei).
Quando vou mudar de página, utilizo AJAX para não dar refresh na página (pois perderia os dados do objeto JS).
Despois de preencher na última etapa do formulário eu mando o envento onclick do botão "submit" para uma função do meu objeto JS que pega os dados do objeto e submete para o PHP que por sua vez irá cadastrar as informações na base de dados.


5. Outra forma

Willie Moraes Oliveira
asclows

(usa Slackware)

Enviado em 23/11/2005 - 09:42h

Poderia tb fazer simplesmente uma sobreposição de <div>'s (cada uma com uma etapa do form) ao clicar no link avançar, voltar, limpar e etc com JS. Com isso não há reload, mas lembrando que desse jeito para gravar na base de dados ainda precisaria de finalizar a operação com um botão "submit" ou outro objeto que submeta os dados para o script de gravação.

Precisa avaliar bem, esta opção pode ser inviável se a quantidade de campos for alta pois seria decepcionante perder todos os dados digitados caso alguma falha venha acontecer, pois até o ponto de submissão nada ainda teria sido armazenado.



6. Re: Formulário

Pedro Braga
ikkinet

(usa Slackware)

Enviado em 14/12/2005 - 04:35h

vai gravando em sessions os campos das etapas...

no final, passa todos os valores da session pro BD..






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts