Se volete testare l'indirizzo è: jam-session.net/new/prenotazione.php
Il problema me lo da, ad esempio, se inserisco come orario inizio 17:00 per la durata di 2 ore.
Ecco la parte di codice interessata. Nel caso possa servire posterò i vari metodi.
E' un pò incasinato essendo un prototipo:
Codice PHP:
if (!isset($_POST["prenota2"])){// se ancora non è stato scelto nessun noleggio stampo i noleggi disponibili
$s=estraiPrenotazione($_GET["prenota"]);
$idnoleggi=verificaPossibiliNoleggi($s[0],$s[1]); //s0=idprova; s1=data
echo "PROVA SCELTA ------> ";
echo stampaPrenotazione($s);
echo "
";
echo "<form id=\"form1\" name=\"form1\" method=\"post\"> ";
stampaNoleggiDisponibili($idnoleggi,$s[0],$s[1],$s[2]);
echo "<input type=\"submit\" value=\"Prenota\" name=\"prenota2\" />";
echo "</form>";
}
else {//se ho già visualizzato i noleggi creo un oggetto DatiPrenotazione
$s=estraiPrenotazione($_GET["prenota"]);//s(idprova,data,USP,USS,USW)
$idnoleggi=verificaPossibiliNoleggi($s[0],$s[1]); //s0=idprova; s1=data
if ($msg==true) /*$auth=auth_get_uid();*/ $auth=$user["username"];
else $auth=auth_generate_uid();
$datiPrenotazione=new DatiPrenotazione(convertiData(dataAttuale()),$s[0],0,$auth,0,convertiData($s[1]),$s[2],null);
$noleggi=array();
$contatoreNoleggi=0;
for($i=0;$i<count($idnoleggi);$i++)
if (isset($_POST["idnoleggio".$i]))
{
$str="idnoleggio".$i;
$idnol=explode("_",$_POST[$str]);
$noleggi[]=new Noleggio(convertiData($s[1]),$idnol[0],$s[5],$s[6],$s[0]);
$contatoreNoleggi++;
}
if ($contatoreNoleggi==0)
$noleggi=null;
$datiPrenotazione->setNoleggi(base64_encode(serialize($noleggi)));
//elimino la precedente sessionePrenotazione
$query="DELETE FROM `sessioniprenotazioni` WHERE uid='".$auth."'";
$risultato = mysql_query($query);
$query ="INSERT INTO `sessioniprenotazioni` ( `uid` ,`datiprenotazione`,`scadenza`) VALUES ( '".$auth."','".(base64_encode(serialize($datiPrenotazione)))."','".(time()+(60*60))."');";
$risultato = mysql_query($query);
setcookie("auth",$auth,time()+(60*60));
header("Refresh: 0;URL=step2.php");
}