ciao questi problemi li sto affrontando perche sto progettando un negozio elettronico, la mia procedura di checkout la ho concepita cosi
pria di accedere al form mi accerto che ci sia il login, altrimenti redirect verso la pagina del login, se il login e ok, controllo se il carrello e vuoto, se lo e redirect verso il carrello.
Non si accede al checkout se una delle due condizioni rimane insoddisfatta, non avrebbe senso infatti fare compilare il form se non si ha il login o qualcosa nel carrello

if (check_log() == _NONLOGGATO)
{
header ('Location: '.$ecom_host.$ecom_directory.'/account.php');exit;
}
if (file_exists('carrelli/carrello_'._IDSESSIONE))
{
$file = fopen('carrelli/carrello_'._IDSESSIONE,'r');
$riesuma = fread($file, filesize('carrelli/carrello_'._IDSESSIONE));
fclose($file);
$carrello = unserialize($riesuma);
if (sizeof($carrello) == 0)
{
header ('Location: '.$ecom_host.$ecom_directory.'/carrello_visualizza.php');exit;
}
}
else
{
header ('Location: '.$ecom_host.$ecom_directory.'/carrello_visualizza.php');exit;
}

questo e il pezzo di codice che fa quello che ho descritto, non includo il resto perche troppo lungo

saluti