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
1
Puntos
Puntos
3768
Visitas
Visitas
6
Resp
Resp
Por zapikero hace 10 años
Developer
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);
?>salu21
Puntos
Puntos
Por alber hace 10 años
Admin
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?
1
Puntos
Puntos
Por zapikero hace 10 años
Developer
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);
?>1
Puntos
Puntos
Por zapikero hace 10 años
Developer
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.0
Puntos
Puntos
Por jose hace 10 años
Master
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 10 años
Admin
Respuesta #6
Buenas de nuevo!! después de un tiempo, usado esta función, me queda la duda, como hacerlo para que el administrador del sitio pueda verlo?
a día de hoy ya lo tengo en mysqli....
gracias y un saludete!!!
a día de hoy ya lo tengo en mysqli....
gracias y un saludete!!!
0
Puntos
Puntos
Por zapikero hace 8 años
Developer