Ho trovato uno script di un esempio di carrello
catalogo.php
e carrello.php
ma non riesco a farlo funzionare
con winxp/apache 1.3.33/php4.3.10
ne con
con slackware10/apache 1.3.33/php4.3.10
mentre con uniserver3_2 per win (pacchetto con apache2.0.50/php5.0.0) funziona perfettamente!
credo che dipenda da php.ini, ma non me ne intendo un gran che, cosi se qualcuno potesse aiutarmi,
dicendomi quali direttive devo editare o che controlli eseguire.
//////////////// catalogo.php ///////////////////////////
<?php
session_start();
session_register("carrello");
?>
<html>
<body>
<div align="center">
<h2> I nostri prodotti</h2>
<table border="1" cellspacing="0" cellpadding="5" align="center">
<tr><th>Articolo</th><th>Prezzo</th><th>Quantita</th>
Carrello</th></tr>
<?php
for ($k=1; $k<4; $k++)
{
?>
<tr>
<form action="carrello.php" method="post">
<td>Articolo<?=$k?></td><td>Euro<?=$k*1000?></td>
<td><input type="text" size="4" name="quantita" value="0"></td>
<td><input type="submit" name="aggiungi" value="aggiungi"></td>
<input type="hidden" name="id" value="<?=$k?>">
<input type="hidden" name="prezzo" value="<?=$k*1000?>">
<input type="hidden" name="nome" value="<?=$k?>">
</form>
</tr>
<?
}
?>
</table>
ci sono <?=count($carrello)?> articolo nel carrello
</div>
</body>
</html>
/////////////eof//////////////////////
////////////////////////carrello.php/////////////////////////
<?php
session_start();
session_register("carrello");
?>
<html>
<body>
<?
if($aggiungi && $quantita>0)
{
$carrello["$id"]=array("nome"=>"$nome", "prezzo"=>"$prezzo", "quantita"=>"$quantita");
}
if ($vuota)
{
unset($carrello);
session_unregister("carrello");
}
if ($elimina)
{ unset($carrello["$id"]);}
?>
<? if (count($carrello)>0) {?>
<div align="center">
<h2>Carrello</h2>
<table border="1">
<tr>
<th>Articolo</th><th>Prezzo</th><th>Quantita</th>
<th>svuota il carrello</th>
</tr>
<?
$tot=0;
while (list($id,$articolo)=each($carrello))
{
$tot+=$articolo["quantita"]*$articolo["prezzo"];
?>
<tr>
<form action="carrello.php" method="post">
<td><?=$articolo["nome"]?></td>
<td><?=$articolo["prezzo"]?></td>
<td><?=$articolo["quantita"]?></td>
<td><input type="submit" name="elimina" value="elimina"></td>
<input type="hidden" name="id" value="<?=$id?>">
</form>
</tr>
<?
}
?>
<tr><td colspan="4" align="right"> TOT <?=$tot?></td></tr>
</table>
ritorna al catalogo
</div>
<? } else { ?>
<h2>Carrello vuoto</h2> <?} ?>
</body>
</html>
/////////////eof/////////////
il problema è che ottengo in catalogo.php
Notice: Undefined variable: carrello in c:\programmi\apache group\apache\htdocs\carrello\catalogo.php on line 34
0 articolo nel carrello
mentre in carrello.php
Notice: Undefined variable: aggiungi in c:\programmi\apache group\apache\htdocs\carrello\carrello.php on line 8
Notice: Undefined variable: vuota in c:\programmi\apache group\apache\htdocs\carrello\carrello.php on line 13
Notice: Undefined variable: elimina in c:\programmi\apache group\apache\htdocs\carrello\carrello.php on line 18
Notice: Undefined variable: carrello in c:\programmi\apache group\apache\htdocs\carrello\carrello.php on line 21
Ho controllato nella cartella sessiondata e la sessione viene aperta
mentre con uniserv_3_2 funziona a meraviglia!
Grazie Roberto