Estoy haciendo un sistema de mantenimiento a portales web, la idea es que pueda programar una fecha y hora para que cada ves que una pagina esta en mantenimiento pueda direccionarse a una index temporal durante el tiempo de fecha y hora una ves terminada que regrese a su index normal.
Esto con la finalidad de evitar estar subiendo el index por FTP.
Espero puedan ayudarme amigos por el momento tengo esto
Este es mi index donde se hace la programacion por fecha y hora, todo lo relaciones con mi BD
Código PHP :
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Sistema de Mantenimiento</title> <link href="css/stylus.css" rel="stylesheet" type="text/css"> </head> <body> <div id="site"> <div class="header"><img src="img/tec.png" width="988" height="142"></div> <div style="padding:10px 0;"> </div> <div class="table"> <?php //Configuracion de la conexion a base de datos include('conexion.php'); $conexion = ConectarseBD(); $sql=mysql_query("SELECT * FROM mtto_url",$conexion); ?> <table align="center" cellpadding="0" cellspacing="0" border="0" width="973"> <tr> <td colspan="6"> <div align="center" style="background-image:url(img/bg_title_table.png); background-repeat:no-repeat; width:973px; height:42px; padding-top:10px;"> <ul class="menu-list"> <li>Plataforma</li> <li>URL Temporal</li> <li>Fecha de Inicio</li> <li>Fecha Termina</li> <li>Operación</li> </ul> </div> </td> </tr> <tr> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <?php while($row = mysql_fetch_array($sql)) {?> <form action="programar.php" method="post"> <tr> <td width="43"><input type="hidden" name="id" value="<?php echo $row['id_plataform']?>"><input type="hidden" name="name" value="<?php echo $row['nombre_plataform']?>"><?php echo $row['images']?></td> <td width="179"><div style="padding:0 5px;"><?php echo $row['nombre_plataform']?></div></td> <td width="180"><div style="padding:0 5px;"><?php echo $row['url_temp']?></div></td> <td width="180"><div style="padding:0 5px;">Fecha actual:<br> <strong><?php echo $row['fecha_inicio']?></strong></div> <br> <div style="padding:0 5px;">Nueva fecha:<br> <select name="pickup_month" id="pickup_month"> <option value="01">Ene</option> <option value="02">Feb</option> <option value="03">Mar</option> <option value="04">Abr</option> <option value="05">May</option> <option value="06">Jun</option> <option value="07">Jul</option> <option value="08">Ago</option> <option value="09">Sept</option> <option value="10">Oct</option> <option value="11">Nov</option> <option value="12">Dic</option> </select> <select name="pickup_day" id="pickup_day"> <option value="01">1</option> <option value="02">2</option> <option value="03">3</option> <option value="04">4</option> <option value="05">5</option> <option value="06">6</option> <option value="07">7</option> <option value="08">8</option> <option value="09">9</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> <option value="13">13</option> <option value="14">14</option> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> <option value="23">23</option> <option value="24">24</option> <option value="25">25</option> <option value="26">26</option> <option value="27">27</option> <option value="28">28</option> <option value="29">29</option> <option value="30">30</option> <option value="31">31</option> </select> <select name="pickup_year"> <option value="2011">2011 </option><option value="2012">2012 </option> </select> <select name="pickup_time"> <option value="00:00" >12 media noche </option> <option value="00:30" >12:30 AM</option> <option value="01:00" >1:00 AM</option> <option value="01:30" >1:30 AM</option> <option value="02:00" >2:00 AM</option> <option value="02:30" >2:30 AM</option> <option value="03:00" >3:00 AM</option> <option value="03:30" >3:30 AM</option> <option value="04:00" >4:00 AM</option> <option value="04:30" >4:30 AM</option> <option value="05:00" >5:00 AM</option> <option value="05:30" >5:30 AM</option> <option value="06:00" >6:00 AM</option> <option value="06:30" >6:30 AM</option> <option value="07:00" >7:00 AM</option> <option value="07:30" >7:30 AM</option> <option value="08:00" >8:00 AM</option> <option value="08:30" >8:30 AM</option> <option value="09:00" >9:00 AM</option> <option value="09:30" >9:30 AM</option> <option value="10:00" >10:00 AM</option> <option value="10:30" >10:30 AM</option> <option value="11:00" >11:00 AM</option> <option value="11:30" >11:30 AM</option> <option value="12:00" >12 medio dia</option> <option value="12:30" >12:30 PM</option> <option value="13:00" >1:00 PM</option> <option value="13:30" >1:30 PM</option> <option value="14:00" >2:00 PM</option> <option value="14:30" >2:30 PM</option> <option value="15:00" >3:00 PM</option> <option value="15:30" >3:30 PM</option> <option value="16:00" >4:00 PM</option> <option value="16:30" >4:30 PM</option> <option value="17:00" >5:00 PM</option> <option value="17:30" >5:30 PM</option> <option value="18:00" >6:00 PM</option> <option value="18:30" >6:30 PM</option> <option value="19:00" >7:00 PM</option> <option value="19:30" >7:30 PM</option> <option value="20:00" >8:00 PM</option> <option value="20:30" >8:30 PM</option> <option value="21:00" >9:00 PM</option> <option value="21:30" >9:30 PM</option> <option value="22:00" >10:00 PM</option> <option value="22:30" >10:30 PM</option> <option value="23:00" >11:00 PM</option> <option value="23:30" >11:30 PM</option> </select></div></td> <td width="180"><div style="padding:0 5px;"> Fecha actual:<br> <strong><?php echo $row['fecha_termina']?></strong></div> <br> <div style="padding:0 5px;">Nueva fecha:<br> <select name="end_month" id="end_month"> <option value="01">Ene</option> <option value="02">Feb</option> <option value="03">Mar</option> <option value="04">Abr</option> <option value="05">May</option> <option value="06">Jun</option> <option value="07">Jul</option> <option value="08">Ago</option> <option value="09">Sept</option> <option value="10">Oct</option> <option value="11">Nov</option> <option value="12">Dic</option> </select> <select name="end_day" id="end_day"> <option value="01">1</option> <option value="02">2</option> <option value="03">3</option> <option value="04">4</option> <option value="05">5</option> <option value="06">6</option> <option value="07">7</option> <option value="08">8</option> <option value="09">9</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> <option value="13">13</option> <option value="14">14</option> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> <option value="23">23</option> <option value="24">24</option> <option value="25">25</option> <option value="26">26</option> <option value="27">27</option> <option value="28">28</option> <option value="29">29</option> <option value="30">30</option> <option value="31">31</option> </select> <select name="end_year"> <option value="2011">2011 </option><option value="2012">2012 </option> </select> <select name="end_time"> <option value="00:00" >12 media noche </option> <option value="00:30" >12:30 AM</option> <option value="01:00" >1:00 AM</option> <option value="01:30" >1:30 AM</option> <option value="02:00" >2:00 AM</option> <option value="02:30" >2:30 AM</option> <option value="03:00" >3:00 AM</option> <option value="03:30" >3:30 AM</option> <option value="04:00" >4:00 AM</option> <option value="04:30" >4:30 AM</option> <option value="05:00" >5:00 AM</option> <option value="05:30" >5:30 AM</option> <option value="06:00" >6:00 AM</option> <option value="06:30" >6:30 AM</option> <option value="07:00" >7:00 AM</option> <option value="07:30" >7:30 AM</option> <option value="08:00" >8:00 AM</option> <option value="08:30" >8:30 AM</option> <option value="09:00" >9:00 AM</option> <option value="09:30" >9:30 AM</option> <option value="10:00" >10:00 AM</option> <option value="10:30" >10:30 AM</option> <option value="11:00" >11:00 AM</option> <option value="11:30" >11:30 AM</option> <option value="12:00" >12 medio dia</option> <option value="12:30" >12:30 PM</option> <option value="13:00" >1:00 PM</option> <option value="13:30" >1:30 PM</option> <option value="14:00" >2:00 PM</option> <option value="14:30" >2:30 PM</option> <option value="15:00" >3:00 PM</option> <option value="15:30" >3:30 PM</option> <option value="16:00" >4:00 PM</option> <option value="16:30" >4:30 PM</option> <option value="17:00" >5:00 PM</option> <option value="17:30" >5:30 PM</option> <option value="18:00" >6:00 PM</option> <option value="18:30" >6:30 PM</option> <option value="19:00" >7:00 PM</option> <option value="19:30" >7:30 PM</option> <option value="20:00" >8:00 PM</option> <option value="20:30" >8:30 PM</option> <option value="21:00" >9:00 PM</option> <option value="21:30" >9:30 PM</option> <option value="22:00" >10:00 PM</option> <option value="22:30" >10:30 PM</option> <option value="23:00" >11:00 PM</option> <option value="23:30" >11:30 PM</option> </select></div> </td> <td width="211" align="center"><input type="submit" value="Programar" name="program" /></td> </tr> <tr> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> </form> <?php } ?> </table> </div> <div style="padding:10px 0;"> </div> <div class="footer">Creating by Universidad TEC Milenio, San Nicolas Las Puentes.</div> </div> </body> </html>
Este es el archivo que hace el update ala BD donde estan mis registros
Código PHP :
<?php if(isset($_POST['id'])){ include('conexion.php'); $conexion = ConectarseBD(); //varibles para traer la informacion que se actualizara en la tabla // Generales $id = $_POST['id']; $nombre = $_POST['name']; //varibles para traer la informacion que se insertara en la tabla // Generales // Fecha Inicio $mes_ini = $_POST['pickup_month']; $dia_ini = $_POST['pickup_day']; $ano_ini = $_POST['pickup_year']; //$time_ini = $_POST['pickup_time']; // Fecha Termina $end_mes = $_POST['end_month']; $end_dia = $_POST['end_day']; $end_ano = $_POST['end_year']; //$end_time = $_POST['end_time']; //acutalizar la informacion el la tabla $query = ("UPDATE `mtto_url` SET `fecha_inicio` = '$ano_ini-$mes_ini-$dia_ini', `fecha_termina` = '$end_ano-$end_mes-$end_dia' WHERE `id_plataform` =$id") or die ('Error en tabla de update'); mysql_query($query) or die(mysql_error()); echo "<script> window.alert('Fecha programada para $nombre!!'); location.href='index.php';</script>"; } ?>
Y en la pagina del portal en su index lo modifico ateponiendo una validacion para verificar si esta dentro de la fecha
Código PHP :
<?php $time = date ("Y-m-d"); ?> <?php //Configuracion de la conexion a base de datos include('../conexion.php'); $conexion = ConectarseBD(); $sql=mysql_query("SELECT * FROM mtto_url where id_plataform = 2",$conexion); $row = mysql_fetch_array($sql); ?> <?php if ($row['fecha_inicio'] == $time): ?> <?php $fechaInicio=strtotime($row['fecha_inicio']); $fechaFin=strtotime($row['fecha_termina']); for($i=$fechaInicio; $i<=$fechaFin; $i+=86400) { echo "<script>location.href='url temporal';</script>"; } ?> <?php else: ?> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Pagina Activa</title> </head> <body> <h1>Esten es una pagina activa!!</h1> </body> </html> <?php endif; ?>
Como verán por el momento solo estoy validad con la BD si la fecha inicia es igual ala actual si si me coloca la url temporal y calculando la fecha final(que no si esto jale). y si no esta en la fecha me regresa al index normal.
Indiquen me si mi lógica esta mal y como le puedo hacer para hacer mejor la validación por rangos.
Saludos y gracias.