query database e blocco utente

  • Creatore Discussione Creatore Discussione skalis
  • Data di inizio Data di inizio

skalis

Nuovo Utente
22 Ago 2010
2
0
0
CIao!
Mi servirebbe una mano con questo codice..

PHP:
//  devo verificare che ci siano almeno 12 ore di tempo per l'inizio del tour, altrimenti devo avvisare che è necessario contattare direttamente l'azienda per avere la conferma della prenotazione. 
#int mktime ( int hour, int minute, int second, int month, int day, int year [, int is_dst])
                  $oggi=date("Y-m-d-H-i-s",time());
                  $pezzididata=explode("-", $oggi);
                  $anno=$pezzididata[0];
                  $mese=$pezzididata[1];
                  $giorno=$pezzididata[2];
                  $ore=$pezzididata[3];
                  $minuti=$pezzididata[4];
                  $secondi=$pezzididata[5];

                  $domani=mktime($ore+12, $minuti, $secondi, $mese, $giorno, $anno);

                  $pezzididata=explode("-", $data_tour);
                  if ($_SESSION['lang']=="it"){
                    $anno=$pezzididata[2];
                    $mese=$pezzididata[1];
                    $giorno=$pezzididata[0];
                  }
                 
                  else{
                    $anno=$pezzididata[0];
                    $mese=$pezzididata[1];
                    $giorno=$pezzididata[2];
              }        
                  $pezzidiorario=explode(".", $ora_tour);
                  $ore=$pezzidiorario[0];
                  $minuti=$pezzidiorario[1];
                  $inizio_tour=mktime($ore, $minuti, 0, $mese, $giorno, $anno);
                  
                  $qualcunoHaPrenotato = false;
                  $tipo_prenotazione = $mat_tour["$i"]["id"];
                  // questa variabile verrà usata nella pagina reserv_wrtesql.php
                  // per decidere il tipo di prenotazione effettuata
                  $_SESSION['tipo_prenotazione'] = $mat_tour["$i"]["id"];
                  
                  $connessione = mysql_connect($host, $user, $pwd) or die("Connessione non riuscita: " . mysql_error());
                  $lastst = mysql_select_db ('DB');
                  $data_tour = $anno."-".$mese."-".$giorno;
                  $query = "select from prenotazioni where tipo_preonotazione='".$tipo_prenotazione."' and (mattina='".$data_tour."' or pomeriggio='".$data_tour."')";
                  $result = mysql_query($query);
                  $num_rows = mysql_num_rows($result);
                  if ($num_rows>0) 
                          $qualcunoHaPrenotato = true;
                  mysql_free_result($result);
                                      
                    # blocco se la data corrente è a meno di dodici ore dall'inizio del tour
                  if ($domani>$inizio_tour && !$qualcunoHaPrenotato)
                  {
                        $_SESSION['error2'].=$err_4_2s;
                        header("location: ".$dominio."reserv2.php");
                        exit;
                    }        
        }

in pratica, se un utente prenota un tour, se troppo vicino al suo inizio ( meno di dodici ore )
l'utente dev'essere boccato; se il tour è però già stato prenotato da qualcun altro ( query al DB )
allora l'utente può continuare.


Io faccio la query che controlli se ci sono tour prenotati per quel giorno ( mattina o pomeriggio )
in caso positivo ( $qualcunoHaPrenotato) l'utente può andare avanti, altrimenti no...
Però non funziona!
Cosa sbaglio?
Grazie.
 

Discussioni simili