Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 396
Nome: João Paulo
Descrição do site: Site de Ofertas de Produtos da cidade
Sexo: Masculino
Localização: Bahia Luis Eduardo Magalhães

Validação php de data

30-05-2012 00:57

opa gostaria de saber se teria como me dar um exemplo. tenho um site onde tenho um sistema de reserva de quarto de hotel
http://www.nossaidea.com.br/HotelSolar/index.php

no sistema ele funciona da seguinte forma tenho um banco de dados com 3 tabelas ano mes e dia e menu list para onde e puxadas as informaçoes gostaria de saber como faço um sistema de validaçao para que quando o ano de entrada for maior que o ano de saida nao cadastre
para quando o mes de entrada for maior que o mes de saida nao cadastre mas se caso o ano de entrada for maior o mes pode ser menor.
e tambem presiso q se a data de entrada nao pode ser menor que a data atual de hj.

teria como montar um exemplo simples para mim de como eu faria isso ?
vou postar o codigo aki do sistema so para ter uma ideia de oque foi que eu fiz


<form class="form_reserva" method="post" action="reserva.php" enctype="multipart/form-data">                 Data de Entrada*:<br />                 <select name="dia">                 <option value="">Dia</option>                 <?php $selec4 = mysql_query("SELECT * FROM dat_dia");                 while($campos4=mysql_fetch_array($selec4)) {                 extract($campos4); echo "<option value='$cod_dat'>$dat_dia</option>"; } ?>                 </select>         <select name="mes">         <option value="">Mês</option>                 <?php $selec = mysql_query("SELECT * FROM dat_mes");                 while($campos=mysql_fetch_array($selec)) {                 extract($campos); echo "<option value='$cod_mes'>$dat_mes</option>"; } ?>                 </select>         <select name="ano">         <option value="">Ano</option>                 <?php $sele = mysql_query("SELECT * FROM dat_ano");                 while($campo=mysql_fetch_array($sele)) {                 extract($campo); echo "<option value='$cod_ano'>$dat_ano</option>"; } ?>                 </select><br /><br />         Data de Saida*:<br />         <select name="dia1">                 <option value="">Dia</option>                 <?php $selec4 = mysql_query("SELECT * FROM dat_dia");                 while($campos4=mysql_fetch_array($selec4)) {                 extract($campos4); echo "<option value='$cod_dat'>$dat_dia</option>"; } ?>                 </select>         <select name="mes1">         <option value="">Mês</option>                 <?php $selec = mysql_query("SELECT * FROM dat_mes");                 while($campos=mysql_fetch_array($selec)) {                 extract($campos); echo "<option value='$cod_mes'>$dat_mes</option>"; } ?>                 </select>         <select name="ano1">         <option value="">Ano</option>                 <?php $sele = mysql_query("SELECT * FROM dat_ano");                 while($campo=mysql_fetch_array($sele)) {                 extract($campo); echo "<option value='$cod_ano'>$dat_ano</option>"; } ?>                 </select><br />         Nome*:<br />         <input name="nome" maxlength="50" type="text" /><br />         E-mail*:<br />         <input name="email" maxlength="80" type="text" /><br />         Fones*:<br />         <input name="fone" style="width:85px" maxlength="12" type="text" /> ou <input name="tel" style="width:85px" maxlength="12" type="text" /><br />         <input name="cadastrar" class="entrar" value="" type="submit" />         </form>   <?php                           if(isset($_POST['cadastrar'])){         mb_internal_encoding("UTF-8");         mb_http_output( "iso-8859-1" );         ob_start("mb_output_handler");         header("Content-Type: text/html; charset=ISO-8859-1",true);                         include ('conexao/conecta.php');                         if($_POST['dia'] == "" ||                            $_POST['mes'] == "" ||                            $_POST['ano'] == "" ||                            $_POST['dia1'] == "" ||                            $_POST['mes1'] == "" ||                            $_POST['ano1'] == "" ||                            $_POST['nome'] == "" ||                            $_POST['email'] == "" ||                            $_POST['fone'] == ""){                         echo "<META HTTP-EQUIV=REFRESH CONTENT='0; URL=index.php'>                           <script type=\"text/javascript\">                           alert(\"Todos Campos com * devem ser preenchidos! \");                           </script>";                         exit; }                       else{                 $dia_entrada = $_POST['dia'];                 $mes_entrada = $_POST['mes'];                 $ano_entrada = $_POST['ano'];                 $dia_saida       = $_POST['dia1'];                 $mes_saida       = $_POST['mes1'];                 $ano_saida       = $_POST['ano1'];                 $nome            = htmlentities($_POST['nome']);                 $email           = $_POST['email'];                 $fone            = $_POST['fone'];                 $tel             = $_POST['tel'];                         }                               $insert = mysql_query("INSERT INTO reserva (cod_ano, cod_dia, cod_mes, cod_ano_sai, cod_dia_sai, cod_mes_sai, res_nom, res_ema, res_fon, res_tel) VALUES ('$ano_entrada', '$dia_entrada', '$mes_entrada', '$ano_saida', '$dia_saida', '$mes_saida', '$nome', '$email', '$fone', '$tel')");                         if($insert){                         echo "<META HTTP-EQUIV=REFRESH CONTENT='0; URL=index.php'>                           <script type=\"text/javascript\">                           alert(\"Sua Reserva foi solicitada com sucesso!\");                           </script>";                         exit; }                       else{                         echo "<META HTTP-EQUIV=REFRESH CONTENT='0; URL=index.php'>                           <script type=\"text/javascript\">                           alert(\"Sua Reserva não foi solicitada!\");                           </script>";                         exit;                         } } ?>

Se puder me ajudar agradeço desde ja!
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17583
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Validação php de data

30-05-2012 10:04

Tem um exemplo bem simples nesse link Comparando-datas-com-PHP_15_1228.html
Basta você definir de onde vem os valores de mês e ano.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 396
Nome: João Paulo
Descrição do site: Site de Ofertas de Produtos da cidade
Sexo: Masculino
Localização: Bahia Luis Eduardo Magalhães

Validação php de data

30-05-2012 21:09

mas ai que esta o problema olha o meu banco de onde vem as datas para o menu list e dessa maneira
BD:

-- -- Estrutura da tabela `dat_ano` --   CREATE TABLE IF NOT EXISTS `dat_ano` (   `cod_ano` INT(11) NOT NULL AUTO_INCREMENT,   `dat_ano` CHAR(4) NOT NULL,   PRIMARY KEY (`cod_ano`) ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;   -- -- Extraindo dados da tabela `dat_ano` --   INSERT INTO `dat_ano` (`cod_ano`, `dat_ano`) VALUES (1, '2012'), (2, '2013'), (3, '2014'), (4, '2015');   -- --------------------------------------------------------   -- -- Estrutura da tabela `dat_dia` --   CREATE TABLE IF NOT EXISTS `dat_dia` (   `cod_dat` INT(11) NOT NULL AUTO_INCREMENT,   `dat_dia` CHAR(2) NOT NULL,   PRIMARY KEY (`cod_dat`) ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=32 ;   -- -- Extraindo dados da tabela `dat_dia` --   INSERT INTO `dat_dia` (`cod_dat`, `dat_dia`) VALUES (1, '01'), (2, '02'), (3, '03'), (4, '04'), (5, '05'), (6, '06'), (7, '07'), (8, '08'), (9, '09'), (10, '10'), (11, '11'), (12, '12'), (13, '13'), (14, '14'), (15, '15'), (16, '16'), (17, '17'), (18, '18'), (19, '19'), (20, '20'), (21, '21'), (22, '22'), (23, '23'), (24, '24'), (25, '25'), (26, '26'), (27, '27'), (28, '28'), (29, '29'), (30, '30'), (31, '31');   -- --------------------------------------------------------   -- -- Estrutura da tabela `dat_mes` --   CREATE TABLE IF NOT EXISTS `dat_mes` (   `cod_mes` INT(11) NOT NULL AUTO_INCREMENT,   `dat_mes` VARCHAR(15) NOT NULL,   PRIMARY KEY (`cod_mes`) ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=13 ;   -- -- Extraindo dados da tabela `dat_mes` --   INSERT INTO `dat_mes` (`cod_mes`, `dat_mes`) VALUES (1, 'Janeiro'), (2, 'Fevereiro'), (3, 'Mar&ccedil;o'), (4, 'Abril'), (5, 'Maio'), (6, 'Junho'), (7, 'Julho'), (8, 'Agosto'), (9, 'Setembro'), (10, 'Outubro'), (11, 'Novembro'), (12, 'Dezembro');

ai as menu list dia puxa a tabela dia a mes puxa mes e ano puxa ano e assim vem tudo quebrado como eu faria para juntar isso eu ja tentei fazer algo assim tipo

    $dia_entrada = $_POST['dia'];         $mes_entrada = $_POST['mes'];         $ano_entrada = $_POST['ano'];         $dia_saida     = $_POST['dia1'];         $mes_saida     = $_POST['mes1'];         $ano_saida      = $_POST['ano1'];         $nome          = htmlentities($_POST['nome']);         $email          = $_POST['email'];         $fone          = $_POST['fone'];         $tel          = $_POST['tel']; if($ano_saida > $ano_entrada){ }else{ echo "data invalida"; exit; }  

e assim por diante so que tem um pequeno problema nisso se ano saida for maior que entrada e ele passa mas chega e uma outra restriçao tipo eu puzer que mes saida for menor que mes entrada ele tem que da erro mas se o ano for maior que o ano entrada o mes nao pode da erro! como eu faria isso nao faço idea de como fazer o msm! se puder me ajuda agradeço!!
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17583
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Validação php de data

30-05-2012 22:14

Os dados de entrada e saída são escolhidos pelo usuário, correto?

No script que indiquei, você vai colocar as partes, dia, mês e ano nessa parte

$primeira = "2009/04/20"; // aaaa/mm/dd $segunda = "2009/04/19"; // aaaa/mm/dd  

Para a comparação de qual é a data maior.
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado