Maneira de criar formulário de várias páginas usando script PHP

Muitas vezes, os desenvolvedores de sites têm que coletar uma grande quantidade de dados que o usuário deve inserir, para isso é muito útil separar os dados por seções ou categorias em diferentes telas ou etapas. Uma forma de criar sessões ou telas em etapas, cada formulário em cada seção enviará os dados inseridos para o próximo formulário e este deve manter os valores de uma forma e pode transferi-los de uma página para outra.

Para manter a persistência dos dados entre as páginas, podemos usar sessões de PHP ou uma tabela de banco de dados temporária onde podemos salvar os dados que estamos passando de página para página. E no final salvamos os dados coletados e apagamos o temporário.

Neste tutorial, vamos mostrar como criar um formulário de várias páginas usando script PHP. Veremos também como evitar erros entre os formulários.

Usaremos sessões de PHP para armazenar os valores dos campos de cada formulário.

Em seguida, vamos criar um banco de dados chamado empresa e, em seguida, uma tabela de candidatos.

 CRIAR BASE DE DADOS `empresa` CRIAR TABELA SE NÃO EXISTIR` candidatos` (` id` int (10) NÃO NULO, `nome` varchar (255) NÃO NULO,` email` varchar (255) NÃO NULO, `endereço` varchar (50 ) DEFAULT NULL, `phone` varchar (50) DEFAULT NULL,` mobile` varchar (50) DEFAULT NULL, `educação` int (11) DEFAULT NULL,` post` int (11) DEFAULT NULL, `experiência` int (11) ) DEFAULT NULL, texto de `descrição`) ENGINE = InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET = latin1;
Quando temos formulários com muitos dados, o usuário não vai querer preencher um formulário com mais de 10 campos, por isso é uma boa ideia cobrir o formulário em várias páginas.

Isso pode tornar mais fácil para o usuário acompanhar, por exemplo, podemos dividir os dados em seções separadas, com base no escopo ou categorias de informações, separadamente informações pessoais, informações de clientes, seus dados acadêmicos ou de trabalho, bem como seus gostos ou preferências, também vemos muito na finalização de compras antes dos dados de pagamento em um carrinho de compras, onde os dados de faturamento, dados de envio e dados do produto são separados.

Um dos desafios que surgem ao dividir o formulário em várias páginas é passar os dados de uma página para outra, pois no ponto final do formulário, temos todos os dados necessários prontos para processamento. Vamos considerar dois métodos para fazer isso: variáveis ​​de sessão e campos de entrada ocultos.

Portanto, a sessão tem um caráter semipermanente, permite-nos criar alguma persistência e pode ser utilizada para passar variáveis ​​pelas diferentes páginas em que o visitante chega durante uma visita ao site.

Em seguida, criaremos o primeiro formulário que conterá alguns campos:

 PHP Multiple Form

Formulário 1

Nome: Email: Endereço: Telefone: Celular:
Também adicionaremos as folhas de estilo para dar um design mais elegante ao nosso formulário, portanto, criamos um arquivo styles.css, depois de aplicado, será o seguinte.

 div.container {largura: 960px; altura: 550px; margem: 50px automático; } div.main {largura: 100%; margem superior: 35px; flutuar: esquerda; borda: 2px sólido # 8fc400; preenchimento: 0px 50px 20px; família da fonte: Arial, Helvetica Neue, Helvetica, sans-serif; } form {margin-top: 20px} .estilotextarea {width: 100%; height: 100px; border: 1px solid # 999; } h2 {cor de fundo: fundo: # 8fc400; fundo: gradiente -moz-linear (topo, # 8fc400 0%, # 8fc400 100%); fundo: -webkit-linear-gradiente (topo, # 8fc400 0%, # 8fc400 100%); fundo: gradiente linear (para baixo, # 8fc400 0%, # 8fc400 100%); filtro: progid: DXImageTransform.Microsoft.gradient (startColorstr = '# 8fc400', endColorstr = '# 8fc400', GradientType = 0); preenchimento: 32px; margem: 0 -50px; alinhamento do texto: centro;} b {tamanho da fonte: 18px; display: bloco; cor: # 555;} etiqueta {cor: # 464646; tamanho da fonte: 14px; peso da fonte: negrito;} entrada [tipo = texto], entrada [tipo = e-mail] {largura: 96%; altura: 25px; preenchimento: 5px; margem superior: 5px; margin-bottom: 15px; } selecione {margin-bottom: 15px; margem superior: 5px; largura: 100%; altura: 35px; font-size: 12px;} input [type = submit], input [type = reset] {padding: 10px; fundo: gradiente linear (# 058eb5 5%, # 045066 100%); borda: 1px sólido # 058eb5; cor: # f7f7f7; cursor: ponteiro; largura: 20%; raio da borda: 2px; margin-bottom: 15px; intensidade da fonte: Negrito; font-size: 16px;} input [type = submit]: hover, input [type = reset]: hover {background: linear-gradient (# 045066 5%, # 058eb5 100%); } .message {border: 1px solid; margem: 10px 0px; preenchimento: 15px 10px 15px 10px; repetição de fundo: sem repetição; posição de fundo: centro de 10 px; alinhamento de texto: centro; cor: # 4F8A10; largura: 100%; cor de fundo: # DFF2BF; }
Eu adicionei a propriedade necessária a cada campo, este atributo obrigatório é um atributo booleano que indica se o campo é obrigatório ou não, verdadeiro ou falso.
Quando presente, especifica que esse campo de entrada não pode estar vazio e deve ser preenchido antes de enviar o formulário. O atributo obrigatório funciona com os seguintes tipos de entrada html5: texto, e-mail, senha, caixas de seleção, rádio e arquivo.

Ao preencher os dados do primeiro formulário enviamos via correio para o segundo formulário denominado form2.php cujo código é o seguinte.

 $ valor) {$ _SESSION ['sesionform1'] [$ chave] = $ valor; }?> var13 -> PHP Multiple Form

Formulário 2

Nível de escolaridade: ---- Selecione ---- Universidade Técnica Outro cargo aplicável: * ---- Selecione ---- Administrador do servidor Programador Designer Experiência de trabalho: * ---- Selecione ---- Nenhum

A seguir iremos enviar para um formulário onde guardaremos os dados, para este tutorial mostraremos os dados das sessões anteriores, apenas para ver quais os dados que cada formulário enviou.

 $ valor) {$ _SESSION ['sesionform2'] [$ chave] = $ valor; } jogou fora 'Dados Form1'; $ sesionform1 = $ _ SESSION ['sesionform1']; jogou fora '
'; print_r ($ sesionform1); jogou fora '
'; jogou fora 'Dados Form2'; $ sesionform2 = $ _ SESSION ['sesionform2']; jogou fora '
'; print_r ($ sesionform2); jogou fora '
'; extrair ($ _ SESSION ['sesionform1']); $ connection = mysql_connect ("localhost", "root", ""); $ db = mysql_select_db ("empresa", $ conexão); $ sql = "inserir em clientes (nome, e-mail, endereço, telefone, celular, educação, cargo, experiência, descrição)"; $ sql. = "values ​​('$ name', '$ email', '$ address', '$ phone', '$ mobile', '$ education', '$ position', '$ experience', ' $ descrição ') "; $ query = mysql_query ($ sql, $ connection); ?> var13 -> PHP Multiple form<? if ($ query) {echo '

Você concluiu o processo e salvou os dados

'; } else {echo '

Os dados não foram salvos

'; } unset ($ _ SESSION ['sesionform1']); unset ($ _ SESSION ['sesionform2']); ?> var13 ->

Assim podemos adicionar a quantidade de formulários que precisamos e em cada formulário vamos salvar os dados em uma sessão e depois salvar todas as sessões em um banco de dados, mas também não permite voltar a um formulário anterior desde que conhecemos o número do passo ou formulário Poderemos saber qual sessão contém os dados desse formulário e restaurar os dados.

Esta maneira de criar um O formulário de várias páginas nos permite organizar melhor as informações quando precisamos coletar muitos dados

Vários formulários fazem parte de praticamente qualquer aplicativo da web hoje. Em grandes sites com grande volume de dados, são o principal meio de recebimento das informações dos usuários que utilizam o aplicativo. Dependendo da sequência que precisamos implementar no lado do cliente para a lógica da aplicação não devemos nos exceder com no máximo 10 campos, mas o usuário se cansa e abandona, o script também deve ter toda a segurança necessária incorporada já que estamos usando sessões e os dados podem ser interceptados.

O método correto a ser usado para evitar problemas de segurança é encapsular o processamento de dados no lado do servidor usando pHp.

Gostou e ajudou este tutorial?Você pode recompensar o autor pressionando este botão para dar a ele um ponto positivo
wave wave wave wave wave