Passa le variabili alla pagina successiva in PHP
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.
Usa sessione
e cookie
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'];
session
, ricordarsi sempre di aggiungere session_start()
su entrambe le pagine prima di accedere all’array $_SESSION
.cookie
//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.