PHP-How to send values in Multiple pages Form

Então, eu estava a trabalhar num centro de aplicações PHP (formulário), e estou preso a alguma coisa.

tenho 3 páginas de formulário e 1 página sumbit. Estão todos dentro .extensão php. Então, eu quero pegar o <input name="name" type="text" placeholder="Name" required> da página um e:

<label>About yourself (Atleast 50 Words): <span>*</span></label><br /> <textarea name="yourself" placeholder="About yourself (Atleast 50 Words)" ></textarea> para a página de envio.

Posso levar os valores do Textarea & Textbox da Página 3 para enviar a página até <?php echo $_POST['somethinghere']?>. Mas não posso aceitar valores da primeira e da segunda página.

Aqui estão links para os meus códigos php com estilo.css (pastebin.com):- http://pastebin.com/81vgHh5H

Author: Chinmay Nagrale, 2014-09-19

2 answers

Dei uma vista de olhos no Pastebin e acho que consigo ver o problema. Você está configurando os dados da sessão na mesma página que eles estão preenchendo (então você está atribuindo esses campos para a sessão antes mesmo de serem preenchidos). Tens de fazer isso na página 2, não na página 1. Então o seu padrão é assim:
  1. mostra o formulário da página 1.
  2. O Utilizador preenche - o e carrega no submit.
  3. enviar o utilizador para a Página 2.
  4. A Página 2 pega nas informações postadas na página 1, guarda - as na sessao.
  5. a Página 2 mostra a segunda página do formulário.
  6. O Utilizador preenche a Página 2 e envia os resultados.
  7. enviar o utilizador para a Página 3.
  8. A Página 3 Pega na informação publicada na página 2 e guarda - a na sessão.
E assim por diante... Quando chegar à última página, a sua sessão conterá todas as informações do formulário e poderá processá-las como quiser.

Exemplo:

Página 1:

<form action="page2.php">
    <input type="text" name="page1text"/>
    <input type="submit"/>
</form>

Página 2:

<?php
    $_SESSION['page1text'] = $_POST['page1text'];
?>
<form action="page3.php">
    <input type="text" name="page2text"/>
    <input type="submit"/>
</form>

Página 3:

<?php
    $_SESSION['page2text'] = $_POST['page2text'];
?>
<form action="page4.php">
    <input type="text" name="page3text"/>
    <input type="submit"/>
</form>

Página 4:

<?php
    $_SESSION['page3text'] = $_POST['page3text'];
?>
<ul>
    <li>Page 1: <?php echo $_SESSION['page1text'] ?></li>
    <li>Page 2: <?php echo $_SESSION['page2text'] ?></li>
    <li>Page 3: <?php echo $_SESSION['page3text'] ?></li>
</ul>
Como podem ver, a Página 4 acaba com acesso a todas as informações das páginas anteriores.

Editar: esta resposta anteriormente lida: eu recomendaria ter um modelo que contém todas as propriedades do formulário. À medida que eles preenchem cada página, preencher o modelo com os dados que o usuário introduziu e, em seguida, quando eles completam com sucesso o formulário você pode destruir os dados da sessão.

 0
Author: Nick Coad, 2014-09-19 06:46:32

Você pode armazená-los em sessão como, passe os seus dados da página um para a página dois e na página dois faça o seguinte

$_SESSION['name'] = $_POST['name'];
Mais uma vez, passe os seus dados da Página Dois para a Página três e na página três faça o seguinte
$_SESSION['yourself'] = $_POST['yourself'];

Isto irá definir o seu nome e os seus dados em sessão e será acessível a partir de qualquer página. Não se esqueça de incluir o session_start () no topo da sua página se essa página usar sessão.

Agora, você pode acessar essa variável de sessão a partir da página enviar tipo,
echo $_SESSION['name'];
echo $_SESSION['yourself'];
 0
Author: user4055288, 2014-09-19 07:24:25