Accessing variables on different pages

From: James (nospamheredude_at_yahoo.com)
Date: 03/30/04


Date: Tue, 30 Mar 2004 17:29:03 +0000 (UTC)

Hi, I am trying to build a shopping cart for my DVD website and am having
trouble reading variable over different pages.

I have a page that allows the user to add things to their cart and this page
also display what they have selected. I also am trying to build a 'checkout'
page that displays the DVDs they have chosen, the cost and allows them to
remove a DVD from their cart.

However, I can't even get the checkout page to display the list of DVDs that
is displayed on the other page. Globals variables have been turned off on
the server I am using.

Any help with this would be great.

Here is the code I was referring to:

<?php

// this section creates a session, connects to the db and handles the two
buttons being pressed.
    session_start();
 session_register("trolley");

    require ('mysql.php');
    mysql_connect ($host, $user, $passwd);
    mysql_select_db ($dbName);

    if (isset ($_GET['add']))
        $_SESSION['trolley'][] = $_GET['add'];
    else if ($_GET['op'] === 'clear')
 $_SESSION['trolley'] = "";

 $_GET['getdvds_query'];
 $_GET['search_text'];
 $_GET['search_in'];
 $_GET['genrename'];
?>

<html>
<head>
<title>PHP & MySQL</title>
</head>

<table>
<?php

if ($search_in == "title") {
$getdvds_query = mysql_query ("SELECT dvdid, title, duration, rel, descr,
genre, stock, price FROM dvd where title LIKE '%$search_text%'");
       }
else if ($search_in == "director") {
$getdvds_query = mysql_query ("select dvd.dvdid, dvd.title, dvd.duration,
dvd.rel, dvd.descr, dvd.genre, dvd.stock, dvd.price from dvd, director where
director.name like '%$search_text%'");
         }
else if ($search_in == "actor") {
$getdvds_query = mysql_query ("select dvd.dvdid, dvd.title, dvd.duration,
dvd.rel, dvd.descr, dvd.genre, dvd.stock, dvd.price from dvd, actordvd,
actor where actor.actorid = actordvd.actorid and actordvd.dvdid = dvd.dvdid
and actor.name like '%$search_text%'");
         }

else

$getdvds_query = mysql_query ("SELECT dvdid, title, duration, rel, descr, ge
nre, stock, price FROM dvd where genre LIKE '%$genrename%'");

   if(!$getdvds_query) {
    die("No result, error: ".mysql_error());
   }

     echo "<table bgcolor=\"ddeeff\"><thead><tr>";
     for ( $i = 1 ; $i < mysql_num_fields($getdvds_query) ; $i++ ) {
         echo "<th bgcolor=\"abcdef\">" .
mysql_field_name($getdvds_query,$i) . "</th>\n";
   }

    if ( mysql_num_rows($getdvds_query) > 0 )
    {
        while ( $row = mysql_fetch_assoc($getdvds_query) )
        {
            $dvd[$row['dvdid']] = $row;
            echo "<tr>\n";
            echo "<td>{$row['title']}</td>\n";
            echo "<td>{$row['duration']}</td>\n";
            echo "<td>{$row['rel']}</td>\n";
            echo "<td>{$row['descr']}</td>\n";
            echo "<td>{$row['genre']}</td>\n";
            echo "<td>{$row['stock']}</td>\n";
            echo "<td>{$row['price']}</td>\n";

            echo "<td><a
href=\"start.php?main=search&add={$row[dvdid]}\">add to basket</a></td>";
            echo "</tr>\n";
        }
    }

?>
</table>
<a href="start.php?main=search&op=clear">empty trolley</a><br /><br />
<a href="start.php?main=checkout&trolley<?=SID?>">Checkout</a><br /><br />

<?php
 //this section outputs basket contents
    if (!empty ($_SESSION['trolley']))
    {
        echo 'Trolley contents:<br />';

        foreach ($_SESSION['trolley'] as $trolley_item)
            echo $dvd[$trolley_item]['title']."<br />";
    }
    else
        echo 'Trolley is empty!';
?>

</body>
</html>

Here is my checkout page:

<?php

// this section creates a session, connects to the db and handles the two
buttons being pressed.
    session_start();
 session_register("trolley");
 session_register("add");

 require ('mysql.php');
    mysql_connect ($host, $user, $passwd);
    mysql_select_db ($dbName);

 $_SESSION['trolley'];

    if (!empty ($_SESSION['trolley']))
    {

    echo 'Trolley contents:<br />';
 echo "<table bgcolor=\"ddeeff\"><thead><tr>";

    foreach ($_SESSION['trolley'] as $trolley_item)
            echo "<tr>\n";
            echo $dvd[$trolley_item]['title']."<br />";
            echo $dvd[$trolley_item]['price']."<br />";
   echo "</tr>\n";
    }
    else
 {
   echo 'Trolley is empty!';
 }

?>


Quantcast