Migrar dados em PHP de uma página para outra.
Respondendo uma duvida que venho recebendo com frequência. Como migrar dados de uma determinada página para uma próxima?
Vou deixar aqui uma explicação com 3 soluções diferentes que funcionam em ASP, PHP e ASP.net, claro que cada uma tem sua devida sintaxe. Nestes exemplos vou ensinar passo a passo como fazê-las em PHP (viva o código livre!).
HTML / HTTP é stateless, em outras palavras, o que você fez / viu na página anterior, é totalmente desconectada com a página atual. Exceto se você usar algo como sessões, cookies ou variáveis GET / POST. Sessões e cookies são muito fáceis de usar, a sessão é um mecanismo muito mais seguro do que cookies. Mais seguro, mas não totalmente seguro.
Sessão:
//On page 1
$_SESSION['varname'] = $var_value;
//On page 2
$var_value = $_SESSION['varname'];
Lembre-se de executar a session_start()
declaração sobre ambas as páginas antes de tentar acessar a $_SESSION
de matriz, e também antes de qualquer saída é enviada para o browser.
Cookie:
//One page 1
$_COOKIE['varname'] = $var_value;
//On page 2
$var_value = $_COOKIE['varname'];
A grande diferença entre as sessões e os cookies são de que o valor da variável será armazenado no servidor se você estiver usando sessões e no cliente se você estiver usando cookies. Eu não consigo pensar em nenhuma boa razão para usar cookies em vez de sessões, exceto se você quiser que os dados para persistir entre sessões, mas mesmo assim talvez seja melhor para armazená-lo em um DB, e recuperá-lo com base em um nome de usuário ou id.
GET e POST
Você pode adicionar a variável no link para a página seguinte:
<'a href="page2.php?varname=">Page2
Isto irá criar uma variável GET, ou incluir um campo oculto em um formulário que submete a duas páginas:
E, em seguida, na página dois//Using GET
$var_value = $_GET['varname'];
//Using POST
$var_value = $_POST['varname'];
//Using GET, POST or COOKIE.
$var_value = $_REQUEST['varname'];