You are here: Re: [PHP] session_name("CCLTrolley") « PHP « IT news, forums, messages
Re: [PHP] session_name("CCLTrolley")

Posted by Robert Cummings on 10/03/05 17:24

On Sun, 2005-10-02 at 01:01, Robert Cummings wrote:
>
> If you go with an array system might I suggest the following change to
> what I wrote:

I'm resending a better way to do the simple trolley since you seemed to
have created a Frankensteinian merge of the two examples I sent
previously. This version uses functions which should probably be put
into their own source file and included (let's call it lib.trolley.php).

<?php

session_name( 'CCLTrolley' );
session_start();

//
// Initialize the trolley.
//
if( !isset( $_SESSION['TrolleyContents'] ) )
{
$_SESSION['TrolleyContents'] = array();
}

function trolleyItemQuantity( $itemId )
{
$trolley = &$_SESSION['TrolleyContents'];

//
// Return the $quantity of $item in the $trolley.
//
if( isset( $trolley[$item] ) )
{
return $trolley[$item];
}

return 0;
}

function trolleyItemExists( $itemId, $quantity )
{
$trolley = &$_SESSION['TrolleyContents'];

//
// Return true if $item is in the $trolley; otherwise return false.
//
if( isset( $trolley[$item] ) )
{
return $trolley[$item];
}

return 0;
}

function trolleyItemAdd( $itemId, $quantity )
{
$trolley = &$_SESSION['TrolleyContents'];

//
// Add $quantity of $item to the $trolley.
//
if( isset( $trolley[$item] ) )
{
$trolley[$item] += $quantity;
}
else
{
$trolley[$item] = $quantity;
}
}

function trolleyItemRemove( $itemId, $quantity )
{
$trolley = &$_SESSION['TrolleyContents'];

//
// Remove $quantity of $item from the $trolley.
//
if( isset( $trolley[$item] ) )
{
$trolley[$item] -= $quantity;

if( $trolley[$item] < 1 )
{
unset( $trolley[$item] );
}
}
}

function trolleyPrint()
{
//
// Display the trolley.
//

echo "<pre>\n"
.implode( ',', array_keys( $_SESSION['TrolleyContents'] ) )
."\n</pre>\n";
}

?>

Now the following would facilitate the action you appear to be
performing in your example for adding to the trolley:

<?php

include_once( 'lib.trolley.php' );

if( isset( $_POST['ShopAction'] ) && isset( $_POST['RNum'] ) )
{
echo $_POST['ShopAction'].'!!<br />';

if( 'add' == $_POST['ShopAction'] )
{
echo 'Adding '.$_POST['RNum'].'...<br />';

trolleyItemAdd( $_POST['RNum'], 1 );
}
else
if( 'delete' == $_POST['ShopAction'] )
{
echo 'Deleting '.$_POST['RNum'].'...<br />';

trolleyItemRemove( $_POST['RNum'], 1 );
}
}
else
{
echo 'No action specified!!<br />';
}

trolleyPrint();

?>

--
..------------------------------------------------------------.
| InterJinn Application Framework - http://www.interjinn.com |
:------------------------------------------------------------:
| An application and templating framework for PHP. Boasting |
| a powerful, scalable system for accessing system services |
| such as forms, properties, sessions, and caches. InterJinn |
| also provides an extremely flexible architecture for |
| creating re-usable components quickly and easily. |
`------------------------------------------------------------'

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация