Sto lavorando ad un form su più pagine, dove l'utente procede di pagina in pagina inserendo alcuni dati in ogni pagina.
Ecco un esempio di come è impostato:
PAGINA 1
codice HTML:<form action="page2.php" method="POST"> input data_page1 </form>
PAGINA 2
codice:<?php session_start(); session_register('data_page1'); $_SESSION['data_page1'] = $_POST['data_page1']; ?>codice HTML:<form action="page3.php" method="POST"> input data_page2 </form>
PAGINA 3
codice:<?php session_start(); session_register('data_page2'); $_SESSION['data_page2'] = $_POST['data_page2']; ?>codice:if (!$_SESSION['data_page2']){ echo "Go back to ".'<a href="page2.php">'."page 2".'</a>'; } else{ <form action="page4.php" method="POST"> input data page3 </form> }
Il form conta 6 pagine in totale. Tutto funziona bene se l'utente non fa errori di inserimento. I dati vengono raccolti una pagina dopo l'altra e infine inseriti nel database.
Tuttavia, c'è un problema se l'utente sbaglia a inserire i dati o lascia qualche campo vuoto. Se, ad esempio, arrivato a pagina 3 dimentica di inserire qualcosa, viene rediretto indietro a pagina 2. Il problema è che a quel punto i dati salvati da pagina 1 sono andati persi.
Sto sbagliando qualcosa con l'uso delle sessioni?

Rispondi quotando
