ID: 15428
Updated by: [EMAIL PROTECTED]
Reported By: [EMAIL PROTECTED]
-Status: Feedback
+Status: Open
Bug Type: Session related
Operating System: FreeBSD
PHP Version: 4.1.1
New Comment:
function check_session()
{
global $SEID, $lang, $vars;
session_start($SEID);
if( !(session_is_registered('lang')) )
{
$lang='D';
session_register('lang');
}
}
check_session();
global $basket;
if (!session_is_registered('basket') || $basket==null || $basket=="")
{
$basket=array();
session_register('basket');
}
/* this funstion is used to store in a session data about every
article, the call is always the same, but after a first call it saves
data, on a second call it adds data to an array but does not update
data in a session, on PHP 4.0.4 and 4.0.6 it works perfect under
freeBSD and Linux */
function add()
{
global $art_name, $size, $qty, $model_number, $color, $customer_id,
$maxqty, $ek_price, $vk_price, $program, $vars, $magras, $la_type,
$program_n, $color_n, $season, $size_names, $lafirm, $collection_name;
global $basket, $max_qtys;
//walking in a busket for checking an existance of the same artikel
$i=0;
$exists=false;
while(isset($basket[$i]))
{
$tmp=$basket[$i];
$ki=0;
while($ki<7)
{
$tmpn="lab".$ki;
global $$tmpn;
if (check_digit($$tmpn) && $$tmpn!=0)
{
if($tmp['ID'] == $model_number && $tmp['size'] ==
$size_names[$magras][$ki] && $tmp['color'] == $color)
{
$basket[$i]['qty']+= $$tmpn;
$exists = true;
break;
}
}
$ki++;
}
$i++;
}
if ($exists != true)
{
$ki=0;
while($ki<7)
{
$tmpn="lab".$ki;
global $$tmpn;
if(check_digit($$tmpn) && $$tmpn != 0)
{
$qty_real=min($max_qtys[($size_names[$magras][$ki])], $$tmpn);
$tmp=array(
"ID" => $model_number,
"name" => $art_name,
"size" => $size_names[$magras][$ki],
"qty" => $qty_real,
"maxqty" => $max_qtys[($size_names[$magras][$ki])],
"color" => $color,
"program" => $program,
"customer" => $customer_id,
"ek_price" => "$ek_price",
"vk_price" => "$vk_price",
"magras" => $magras,
"la"=>($ki+1),
"program_n"=> $program_n,
"color_n"=> $color_n,
"agent" => $vars['username'],
"season"=> $season,
"collection"=>$lafirm,
"collection_name"=>$collection_name
);
array_push($basket, $tmp);//echo $tmp['ID']." ".$basket[1]['ID'];
}
$ki++;
}
}
}
////////////////////////////
ini params:
[Session]
; Handler used to store/retrieve data.
session.save_handler = files
; Argument passed to save_handler. In the case of files, this is the
path
; where data files are stored. Note: Windows users have to change this
; variable in order to use PHP's session functions.
session.save_path = /tmp
; Whether to use cookies.
session.use_cookies = 0
; Name of the session (used as cookie name).
session.name = SEID
; Initialize session on request startup.
session.auto_start = 0
; Lifetime in seconds of cookie or, if 0, until browser is restarted.
session.cookie_lifetime = 0
; The path for which the cookie is valid.
session.cookie_path = /
; The domain for which the cookie is valid.
session.cookie_domain =
; Handler used to serialize data. php is the standard serializer of
PHP.
session.serialize_handler = php
; Percentual probability that the 'garbage collection' process is
started
; on every session initialization.
session.gc_probability = 3
; After this number of seconds, stored data will be seen as 'garbage'
and
; cleaned up by the garbage collection process.
session.gc_maxlifetime = 1440
; Check HTTP Referer to invalidate externally stored URLs containing
ids.
session.referer_check =
; How many bytes to read from the file.
;session.entropy_length = 0
; Specified here to create the session id.
;session.entropy_file =
;session.entropy_length = 16
;session.entropy_file = /dev/urandom
; Set to {nocache,private,public} to determine HTTP caching aspects.
session.cache_limiter = nocache
; Document expires after n minutes.
session.cache_expire = 180
; use transient sid support if enabled by compiling with
--enable-trans-sid.
session.use_trans_sid = 1
url_rewriter.tags =
"a=href,area=href,frame=src,input=src,form=fakeentry"
Previous Comments:
------------------------------------------------------------------------
[2002-02-07 21:14:02] [EMAIL PROTECTED]
Short complete script and session realated ini settings are needed.
Could you post them here?
------------------------------------------------------------------------
[2002-02-07 09:14:50] [EMAIL PROTECTED]
When I try to save in the session variable, which is an array and every
line of an array is HASH it allows to save ONLY first line (array[0])
later calling the same function in the same script with new data
changes an array in memory, but after the script is finished - no new
data stored in session, but session file is updated (time).
When I install PHP 4.0.4 under WIN2000 - everything works good, also
the same scripts works good under Linux with php 4.0.6, compiled
options:
'./configure' '--enable-discard-path'
'--with-ibm-db2=/usr/IBMdb2/V7.1' '--enable-ftp' '--enable-trans-sid'
'--with-gd' '--enable-gd-native-tt' '--with-freetype-dir'
'--with-png-dir' '--with-jpeg-dir' '--with-zlib-dir'
for 4.1.1 under freeBSD options are:
'./configure' '--enable-discard-path' '--with-mysql=/usr/local'
'--with-jpeg-dir=/usr/local' '--with-freetype'
'--with-freetype-dir=/usr/local' '--with-png-dir=/usr/local'
'--with-zlib' '--with-zlib-dir=/usr/local' '--enable-ftp'
'--with-gd=/usr/local' '--enable-trans-sid'
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=15428&edit=1
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php