Robert Cummings wrote:
On Sat, 2005-10-01 at 23:57, John Taylor-Johnston wrote:
$TrolleyContents is a string.
Basically what I want to accomplish here is if $TrolleyContents already
exists append $AddToTrolley to $TrolleyContents, if not register
$TrolleyContents.
Am I going about it right?
John
<?php
#printcontents.php
session_name("CCLTrolley");
session_start();
if (isset($HTTP_POST_VARS["AddToTrolley"]))
{
$TrolleyContents = $TrolleyContents.",".$HTTP_POST_VARS["AddToTrolley"];
}else{
session_register("TrolleyContents");
}
echo $TrolleyContents;
phpinfo();
?>
Looks a bit odd to me :) But could be because you're using outdated
semantics. It should be sufficient to do the following:
<?php
session_name( 'CCLTrolley' );
session_start();
//
// Initialize the trolley.
//
if( !isset( $_SESSION['TrolleyContents'] ) )
{
$_SESSION['TrolleyContents'] = '';
}
//
// Add new entry.
//
if( isset( $_POST['AddToTrolley'] ) )
{
if( $_SESSION['TrolleyContents'] ) == '' )
{
$_SESSION['TrolleyContents'] = $_POST['AddToTrolley'];
}
else
{
$_SESSION['TrolleyContents'] .= ','.$_POST['AddToTrolley'];
}
}
echo $_SESSION['TrolleyContents'];
phpinfo();
?>
Is there a reason you're using a comma delimited string? I would
recommend using an array instead:
<?php
session_name( 'CCLTrolley' );
session_start();
//
// Initialize the trolley.
//
if( !isset( $_SESSION['TrolleyContents'] ) )
{
$_SESSION['TrolleyContents'] = array();
}
//
// Add new entry.
//
if( isset( $_POST['AddToTrolley'] ) )
{
$_SESSION['TrolleyContents'][$_POST['AddToTrolley']] =
$_POST['AddToTrolley']
}
echo implode( ',', $_SESSION['TrolleyContents'] );
phpinfo();
?>
Why is it outdated semantics?
P.S. do folks prefer I reply on top or on bottom?
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php