Función modo mantenimiento php
Hola a todos, bueno encontre un script para crear un modo mantenimiento. El script es funcional, pero me gustaria saber, como poner una funcion o variable, para poder activar y desactivar desde la administración, es decir, para que sea mas comodo en vez de editar el script en cada momento.
mi idea es o bien dar el valor desde admin, con un true o false, o bien valor 0 o 1...
Editado
mi idea es o bien dar el valor desde admin, con un true o false, o bien valor 0 o 1...
================== <?php function maintenance($mode = FALSE){ if($mode){ header(“Location: http://misitio.com/maintenance.php”); exit; }else{ header(“Location: http://misitio.com/”); exit; } } ?> ================== Go to your index.php or any other index handler page, add this to the line just after the PHP open tag. require_once(“maintenance.php”); Then, if you wish to enter maintenance mode, just add the following line after the require_once line. maintenance(TRUE);alguna idea?
Editado
Respuesta #1
Hola, lo puedes de hacer de una manera muy sencilla, pones una columna en tu base de datos con estado 0 o 1 y según ese estado metes un header o el otro:
<?php require_once('conexion.php'); //CONSULTA BASE DATOS mysql_select_db($database_conexion, $conexion); $query_DatosWeb = "SELECT estado FROM datos"; $DatosWeb = mysql_query($query_DatosWeb, $conexion) or die(mysql_error()); $row_DatosWeb = mysql_fetch_assoc($DatosWeb); //Si el estado es 0 redireccionar al index if($row_DatosWeb['estado']==0){ header("Location: http://misitio.com"); } //Si el estado es 1 redireccionar a mantenimiento else if($row_DatosWeb['estado']==1){ header("Location: http://misitio.com/maintenance.php"); } mysql_free_result($DatosWeb); ?>salu2
1
Puntos
Puntos
Por alber hace 102 meses
Administrador
Respuesta #2
Perfecto! funciona de lujo, pero mi pregunta es, si esto lo pongo en todas las paginas del sitio, siempre redirecionara a index no?
Respuesta #3
vale, para esto ultimo lo solucione quitando la fila del header
header("Location: http://misitio.com");dejandolo asi
<?php require_once('conexion.php'); //CONSULTA BASE DATOS mysql_select_db($database_conexion, $conexion); $query_DatosWeb = "SELECT estado FROM datos"; $DatosWeb = mysql_query($query_DatosWeb, $conexion) or die(mysql_error()); $row_DatosWeb = mysql_fetch_assoc($DatosWeb); //Si el estado es 0 redireccionar al index if($row_DatosWeb['estado']==0){ } //Si el estado es 1 redireccionar a mantenimiento else if($row_DatosWeb['estado']==1){ header("Location: http://misitio.com/maintenance.php"); } mysql_free_result($DatosWeb); ?>
Respuesta #4
Para optimizar el código podrías Solo estudiar el estado de valor 1, porque si no hará nada el estado 0 ¿De que sirve estudiarlo? ¡Ahorra bytes!
// Si el estado vale 1. No quiero a nadie aquí, estamos de mantenimiento. if($row_DatosWeb['estado']==1) header("Location: http://misitio.com/maintenance.php");Estoy un 90% seguro de que ni siquiera las llaves debes poner, porque estás ejecutando una sola línea después del IF.
Respuesta #5
claro ten en cuenta que estamos hablando de códigos de ejemplo, se entiende que si es 0 no tienes que hacer nada con lo cual el código quedaría así:
<?php require_once('conexion.php'); //CONSULTA BASE DATOS mysql_select_db($database_conexion, $conexion); $query_DatosWeb = "SELECT estado FROM datos"; $DatosWeb = mysql_query($query_DatosWeb, $conexion) or die(mysql_error()); $row_DatosWeb = mysql_fetch_assoc($DatosWeb); //Si el estado es 1 redireccionar a mantenimiento if($row_DatosWeb['estado']==1){ header("Location: http://misitio.com/maintenance.php"); } mysql_free_result($DatosWeb); ?>
0
Puntos
Puntos
Por alber hace 102 meses
Administrador