By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
454,718 Members | 1,383 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 454,718 IT Pros & Developers. It's quick & easy.

Accessing variables on different pages

P: n/a
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?>">Che ckout</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!';
}

?>


Jul 17 '05 #1
Share this Question
Share on Google+
2 Replies


P: n/a
James wrote:
(snip)
Any help with this would be great.

Here is the code I was referring to:

<?php
// make PHP report the use of unintialized variables
error_reporting(E_ALL);
ini_set('display_errors', '1');

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

Caution: If your script uses session_register() it will not work in
environments where the PHP directive *register_globals* is disabled.
(snip)</table>
<a href="start.php?main=search&op=clear">empty trolley</a><br /><br />
<a href="start.php?main=checkout&trolley<?=SID?>">Che ckout</a><br /><br />

_________________________________^^^^^^^^^^^^^^^^

Something like "&trolleyfedcba9876543210fedcba9876543210" ?
Are you perhaps missing a '=' after "trolley" ?

(snip)
You have quite a few statements without effect throughout your code:

<?php

$_GET['id']; // statement without effect
// AFAICT this does absolutely nothing

?>
--
USENET would be a better place if everybody read: : mail address :
http://www.catb.org/~esr/faqs/smart-questions.html : is valid for :
http://www.netmeister.org/news/learn2quote2.html : "text/plain" :
http://www.expita.com/nomime.html : to 10K bytes :
Jul 17 '05 #2

P: n/a
Pedro, thanks for your advice. It's a bit late now but I'll work on the code
some more tomorrow. If anyone else has any more help I would be very
grateful.
Jul 17 '05 #3

This discussion thread is closed

Replies have been disabled for this discussion.