You can collect the data to be stored in an array and save them with a session. The $_SESSION array accepts simple scalar variables, but can also acept arrays.
This is the script to do the selection.
<?php // Enable output buffering. No output is sent from the script // (other than headers). It is saved in an internal buffer ob_start(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="EN" lang="EN"> <head> <title>Saving Arrays in a Session</title> <meta Name="Author" Content="Hann So"> </head> <body> <p> <?php if (isset($_POST['submit'])) { process_form(); } else { display_form();// display form for the first time } function display_form() { echo <<<HTML <h2>Movie categories</h2> <form action = "$_SERVER[SCRIPT_NAME]" method="post"> <select name="movies[]" multiple=multiple size="7"> <option value="Action">Action</option> <option value="Comedy">Comedy</option> <option value="Drama">Drama</option> <option value="Horror">Horror</option> <option value="Family">Family</option> <option value="Foreign">Foreign</option> <option value="Fantasy">Fantasy</option> </select> <br /> <input type="submit" name="submit" value="Select category" /> </form> HTML; } function process_form() { // Start session session_start(); if ( !isset($_SESSION['choices'])) { // create an array $_SESSION['choices']=array(); } if ( is_array($_POST['movies'])) { // Join the values $items = array_merge($_SESSION['choices'], $_POST['movies']); $_SESSION['choices'] = array_unique($items); // redirect to the movies page header('Location: movies.php'); } else { echo "<p>You did not select any movie categories.</p>"; display_form(); } } ?> </p> </body> </html> <?php // Flush the buffer and end output buffering. ob_end_flush(); ?> |
This is the script to display the selection.
<?php session_start(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="EN" lang="EN"> <head> <title>Movie Categories</title> <meta Name="Author" Content="Hann So"> </head> <body> <p> <?php if (is_array($_SESSION['choices'])) { foreach ($_SESSION['choices'] as $movie) { echo $movie, "<br />"; } } else { echo "<p>You have not selected any movie categories yet</p>"; } echo "<p><a href=\"example_d.php\">Log out</a></p>"; echo "<p><a href=\"example_ar.php\">Select the movie categories</a></p>"; ?> </p> </body> </html> |