Additinally, upon looking at the session files in: C:/apache/tmp:
I get from session file from script session_1a.php: products|s:23:"a:1:{i:0;s:6:"Tardis";}"; ................... However, looking at session file from script session_1.php: I get: products|s:2:"N;"; -- "Anthony Ritter" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > Sure. > > Here it is. > > There are three scripts. > > session_1.php: the original form script. > session_1a.php: a revised script with a conditional else. > session_2.php: the receiving script for the session array variable. > > Running script 1a and 2 works fine. > > However the original script 1 and 2 gives me a error when returning to the > contents page the first time - it then fills the contents starting with the > number 2 on subsequent page loads. > > as in: > 1. > 2. Hal 2000 > 3. Sonic Screwdriver > > Try it and see and let me know. > Thank you. > TR > ............................. > > > // this is the original script > // script session_1.php > > <?php > session_start(); > ?> > <html> > <head> > <title>Storing an array with a session</title> > </head> > <body> > <h1>Product Choice Page</h1> > <?php > if (isset($_POST[form_products])) { > if (!empty($_SESSION[products])) { > $products = array_unique( > array_merge(unserialize($_SESSION[products]), > $_POST[form_products])); > } > $_SESSION[products] = serialize($products); > print "<p>Your products have been registered!</p>"; > } > ?> > <form method="POST" action="<?php $_SERVER[PHP_SELF] ?>"> > <P>Select some products:<br> > <select name="form_products[]" multiple size=3> > <option>Sonic Screwdriver</option> > <option>Hal 2000</option> > <option>Tardis</option> > <option>ORAC</option> > <option>Transporter bracelet</option> > </select> > <br><br> > <input type="submit" value="choose"> > </form> > <br><br> > <a href="session_2.php">content page</a> > </body> > </html> > > ............... > //this is a revised script with a conditional else > //script session_1a.php > <?php > session_start(); > ?> > <html> > <head> > <title>Storing an array with a session</title> > </head> > <body> > <h1>Product Choice Page</h1> > > <?php > if (isset($_POST['form_products'])) { > if (!empty($_SESSION['products'])) { > $products = array_unique( > array_merge(unserialize($_SESSION['products']), > $_POST['form_products'])); > }else{ //this conditional has been added > $products = $_POST['form_products'] ; > } > $_SESSION['products'] = serialize($products); > print "<p>Your products have been registered!</p>"; > } > ?> > > <form method="POST" action="<?php $_SERVER[PHP_SELF] ?>"> > <P>Select some products:<br> > <select name="form_products[]" multiple size=3> > <option>Sonic Screwdriver</option> > <option>Hal 2000</option> > <option>Tardis</option> > <option>ORAC</option> > <option>Transporter bracelet</option> > </select> > <br><br> > <input type="submit" value="choose"> > </form> > <br><br> > <a href="session_2.php">content page</a> > </body> > </html> > .............. > //this is session_2.php > > <?php > session_start(); > ?> > <html> > <head> > <title>Listing 16.5 Accessing session variables</title> > </head> > <body> > <h1> Content Page</h1> > <?php > if (isset($_SESSION[products])) { > print "<b>Your cart:</b><ol>\n"; > foreach (unserialize($_SESSION[products]) as $p) { > print "<li>$p"; > } > print "</ol>"; > } > ?> > <a href="session_1.php">Back to product choice page</a> > </body> > </html> -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php