nella prima pagina richiesta-ordine.php, per come hai esposto le cose, non ha senso aprire
una sessione. In quella pagina l'utente inserisce i dati nel form e vengono controllati da
un javascript (quindi si presuppone che l'utente non disabiliti il javascript).
Inviando il form i dati arrivano alla pagina conferma-ordine.php. Qui ti conviene aprire una sessione perchè poi gli stessi dati devono essere passati a pagine successive, .
Quindi a inizio pagina e prima di ogni altra cosa sciverai.
<?php
session_start();
?>
e hai aperto una sessione che è anche un array, per ora, vuoto.
Considera che è opportuno che nessuno, dopo aver copiato l'indirizzo in un
precedente momento, lo incolli nella barra degli indirizzi. Ed allora se il pulsante di invio ha nome
"spingi_qui" (e anche se sono stati fatti i controlli sugli altri input) scriverai:
codice:
<?php
if(empty($_POST['spingi_qui']) OR empty($_POST['nome1']) OR ecc...)) {
header("location: index.php");
exit();
}
// poi altro eventuale codice nel quale dici che se va tutto bene si continua ....
// e poi cominci a riempire l'array delle sessioni
$_SESSION['nome1'] = $_POST['nome1'];
$_SESSION['nome2'] = $_POST['nome2'];
// più giù stampi i dati passati dal form
echo $_SESSION['nome1'];
// ecc....
?>
dalla pagina "conferma-ordine.php" (che ha i dati memorizzati in sessione) puoi inviare i
dati (anche tramite il pulsante di una form) alla pagina "invio-conferma.php" (form con
semplice pulsante di invio).
All'inizio della pagina invio-conferma.php scivi
<?php
session_start();
.....
?>
e tutti i dati passano. Anche qui dovresti premunirti che nessuno abbia copiato
precedentemente l'indirizzo e lo incolli nella barra degli indirizzi quindi
codice:
if(empty($_SESSION['nome1']) OR .... ) {
header("location: index.php");
exit();
}
poi a fine pagina di spedizione mail distruggi dati e sessione
<?php
$_SESSION = array(); // sessione è un array vuoto. un po' paranoico ma vabbè!
session_unset(); // Distrugge le variabile nella sessione.
session_destroy(); // Funzione che distrugge una sessione.
?>
rileggi il mio primo intervento
ciao