Passa le variabili alla pagina successiva in PHP

  1. Usa GET e POST tramite modulo HTML
  2. Usa sessione e cookie

Una variabile PHP è un simbolo o un nome equivalente a value. Viene utilizzato per memorizzare valori come valori, numeri, caratteri o indirizzi di memoria in modo che possano essere utilizzati in qualsiasi parte del programma. Una semplice variabile può essere utilizzata in qualsiasi parte del programma, ma non è accessibile al di fuori di esso a meno che non venga trasmessa utilizzando un GET e un POST tramite modulo HTML, session o cookie.

Usa GET e POST tramite modulo HTML

Il modulo HTML è una delle funzionalità più potenti di PHP. Qualsiasi elemento del modulo sarà automaticamente disponibile per la destinazione “azione” del modulo.

  • Richiesta POST
<form action="nextPage.php" method="POST">
    <input type="text" name="email">
    <input type="text" name="username">
    <input type="submit" name="submit">
</form>
  • Recupero dati in nextPage.php
$username = isset($_POST['username']) ? $_POST['username'] : "";
$email       = isset($_POST['email']) ? $_POST['email'] : "";
echo "Username: ".$username;
echo "Email: ".$email;
  • L’output di esempio dello script può essere:
Username: johndoe
Email: johndoe@gmail.com

L’esempio sopra mostra come passare una variabile usando POST attraverso un modulo HTML. L’elemento form deve avere gli attributi action e method. L’action contiene la pagina successiva, in questo caso è nextPage.php. Il metodo può essere un POST o GET. È quindi possibile accedere agli elementi in nextPage.php utilizzando un $_POST o $_GET.

** OTTIENI Richiesta **

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

Questo esempio creerà una variabile GET ed è possibile accedervi su nextPage.php.

Esempio:

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

È possibile accedere al GET utilizzando $_GET

Un altro modo è aggiungere un elemento nascosto in un modulo HTML che viene inviato alla pagina successiva.

Esempio:

<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'];

È possibile modificare il metodo da POST a GET per utilizzare la richiesta GET. POST e GET sono insicuri contro i bot, ma GET è più facile da hackerare poiché è disponibile attraverso il front-end.

La $_REQUEST può accettare sia GET, POST o COOKIE. È utile utilizzare $_REQUEST sui moduli autoreferenziali per le convalide.

La sessione e il cookie sono più facili da usare, ma la session è molto più sicura dei cookie, ma non completamente sicura.

session

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

//page 2
$value = $_SESSION['animal'];
Nota

Quando si usa la session, ricordarsi sempre di aggiungere session_start() su entrambe le pagine prima di accedere all’array $_SESSION.

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

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

La differenza più evidente tra cookie e session è che quella session sarà memorizzata sul lato server mentre i cookie avranno come memoria il lato client.