Como Passar Variáveis para a Próxima Página em PHP

Ralfh Bryan Perez 30 janeiro 2023
  1. Utilize GET e POST por meio de formulário HTML
  2. Utilize session e cookie
Como Passar Variáveis para a Próxima Página em PHP

Uma variável PHP é um símbolo ou nome que é equivalente a valor. Ela está sendo usada para armazenar valores tais como valores, números, caracteres ou endereços de memória para que possam ser utilizados em qualquer parte do programa. Uma variável simples pode ser utilizada em qualquer parte do programa, mas não é acessível fora dele, a menos que esteja sendo passada utilizando um GET e POST através de formulário HTML, session, ou cookie.

Utilize GET e POST por meio de formulário HTML

O formulário HTML é uma das características mais poderosas do PHP. Qualquer elemento do formulário estará automaticamente disponível para o destino action do formulário.

POST Request

<form action="nextPage.php" method="POST">
    <input type="text" name="email">
    <input type="text" name="username">
    <input type="submit" name="submit">
</form>

Visitando dados para nextPage.php

$username = isset($_POST['username']) ? $_POST['username'] : "";
$email       = isset($_POST['email']) ? $_POST['email'] : "";
echo "Username: ".$username;
echo "Email: ".$email;

O exemplo de saída do script pode ser:

Username: johndoe
Email: johndoe@gmail.com

O exemplo acima mostra como passar uma variável utilizando POST através de um formulário HTML. O elemento do formulário precisa ter o atributo action e method. A action contém a próxima página, neste caso, é nextPage.php. O método pode ser um POST ou GET. Você pode então acessar os elementos no nextPage.php utilizando um $_POST ou $_GET.

PEDIDO ORÇAMENTO*.

<?php
$phpVariable = "Dog";
?>
<a href="nextPage.php?data=<?=$phpVariable?>">Bring me to nextPage</a>

Este exemplo criará uma variável GET e pode ser acessada em nextPage.php.

Exemplo:

echo $phpVariable = $_GET['phpVariable'];
//output: Dog

O GET pode ser acessado utilizando $_GET.

Outra maneira é adicionar um elemento oculto em um formulário HTML que se submete à página seguinte.

Exemplo:

<form action="nextPage.php" method="POST">
    <input type="hidden" name="phpVariable" value="Dog">
    <input type="submit" name="submit">
</form>

nextPage.php

//Using POST
$phpVariable = $_POST['phpVariable'];
//Using GET
$phpVariable = $_GET['phpVariable'];
//Using GET, POST or COOKIE;
$phpVariable = $_REQUEST['phpVariable'];

Você pode mudar o método de POST para GET para utilizar a solicitação GET. O POST e o GET são inseguros, mas o GET é mais fácil de invadir, já que está disponível através do front-end.

O $_REQUEST pode ambos aceitar GET, POST ou COOKIE. É bom utilizar o $_REQUEST em formulários auto-referenciais para validações.

A session e o cookie são mais fáceis de usar, mas a session é muito mais segura do que os cookies, mas não completamente segura.

session

//page 1
$phpVariable = "Dog";
$_SESSION['animal'] = $phpVariable;

//page 2
$value = $_SESSION['animal'];
Nota
Ao utilizar a sessão, lembre-se sempre de adicionar session_start() em ambas as páginas antes de acessar a array $_SESSION.
//page 1
$phpVariable = "Dog";
$_COOKIE['animal'] = $phpVariable;

//page 2
$value = $_COOKIE['animal'];

A diferença mais óbvia entre cookies e session é que essa session será armazenada no lado do servidor enquanto os cookies terão o lado do cliente como armazenamento.

Artigo relacionado - PHP Variable