Non capisco il perchè il codice sotto mi funziona con php5.0.3 e invece con php 4.3.3 no.
Con php5 va al punto 2 solo una volta e registra la stessa variabile di sessione, invece con 4.3.3 si blocca sempre sul print 2 e quindi registra altra varaibile di sessione.
Chissà se è chiaro.
Codice PHP:
session_start() ;
include("../config_inc.php") ;
include("../Lib/class_db.php") ;
include("../Lib/class_campi.php") ;
$db = new db_con ;
$db->connetti() ;
$db->setstatoatt("true") ;
$db->nomedb() ;
if(is_array($_POST['qta'])){
foreach($_POST['qta'] as $kei => $value){
$sql = $db->query1("select * from $tb_acquisti
where tb_acquisti_idprod = $kei and tb_acquisti_idutente = '$_SESSION[idacq]'
");
$righe = mysql_fetch_array($sql) ;
$idacq = $righe['tb_acquisti_id'] ;
$qtaord = $righe['tb_acquisti_qta'] ;
print $numrighe = $db->righe() ;
/*Variabile per data al rovescio da salvare in sessione come id acquisto*/
$datamanuale = date('YmdHis')."$kei" ;
/*Variabile per data timestamp*/
$datamanuale1 = date('YmdHis') ;
/*data a 4 */
$datamanuale2 = date('Y-m-d') ;
if(isset($_SESSION['idacq']) and $numrighe == 0){
$sql = $db->query1("insert into $tb_acquisti
(tb_acquisti_idutente,tb_acquisti_idprod,tb_acquisti_qta,tb_acquisti_data,
tb_acquisti_data4)
values('$_SESSION[idacq]',$kei,$value,$datamanuale1,\"$datamanuale2\")
");
print 1 ;
}elseif(!isset($_SESSION['idacq'])){/*solo una volta poi inserimento in sessione*/
$sql = $db->query1("insert into $tb_acquisti
(tb_acquisti_idutente,tb_acquisti_idprod,tb_acquisti_qta,tb_acquisti_data,
tb_acquisti_data4)
values($datamanuale,$kei,$value,$datamanuale1,\"$datamanuale2\")
");
/*inserisco qui il parametro per sessione in modo che lo faccia solo la prima volta*/
//$campi = new campi ;
//$_SESSION['idacq'] = $campi->salvasessione($datamanuale) ;
$_SESSION['idacq'] = $datamanuale;
print 2 ;
}elseif($value > 0 and $numrighe > 0){/*chiudo else e registro una sola volta in sessione*/
$somma_val = $value + $qtaord ;
$sql = $db->query1("update $tb_acquisti
set tb_acquisti_qta = '$somma_val'
where tb_acquisti_id = '$idacq'
");
print 3 ;
}
}
}
$db->disconnetti() ;
$db->setstatoatt("false") ;
$campi = new campi ;
//$campi->redirect("carrello1.php") ;
?>