Prova cosi' ... se ci sono errori di sintassi correggili visto che scrivere codice sul forum non e' il massimo come editor....
Codice PHP:
<?php
session_start();
$id = !empty($_POST['id']) ? $_POST['id'] : '' ;
$quanto = !empty($_POST['quanto']) ? $_POST['quanto'] : '';
if (empty($id) || empty($quanto)){
header('location:marche.html');
}
else {
//inserisce l'articolo nel carrello
$num = 0;
$time=time();
$query="INSERT INTO Carrello VALUES('".session_id()."', $id, $time, $quanto)";
include("corso.inc.php");
$conn = connect($host,$user,$pass,$db);
mysql_query($query,$conn) or die(mysql_error());
if(mysql_affected_rows($conn) == 1) {
$_SESSION['num'] = $num++;
} else {
exit('valore non inserito'); }
echo"<HTML><HEAD><TITLE>Articolo aggiunto al carrello</TITLE></HEAD>
<BODY><DIV ALIGN='CENTER'><H1>Automobile aggiunta al carrello</H1></DIV>
</br>[url='carrello.php']<H2>Visualizza Carrello</H2>[/url]
</br>[url='marche.html']<H2>Torna al catalogo</H2>[/url]
<H2>Numero Articoli : $num</H2>
</BODY>";
mysql_close($conn);
}
?>
note:
non devi piu' usare session_register ma $_SESSION che e' sempre registrato.
Usa session_id() al posto di $PHPSESSID
controlla le variabili "prima" e non dopo il trasferimento da GET/POST
!isset e empty in questo caso sono un doppione: se non e' settato e' ovvio sia vuoto, pero' potrebbe essere settato ma vuoto. Usa !empty e controlli entrambi i casi.
Non e' detto che se non ricevi un false da mysql_query l'insert sia andato a buon fine, meglio controllare che abbia inserito 1 riga.