Foros del Web » Programando para Internet » PHP »

problema al ejecutar el script, se queda en blanco

Estas en el tema de problema al ejecutar el script, se queda en blanco en el foro de PHP en Foros del Web. hola, a tod@s varan he hecho un script con la ayuda de este foro, y como estoy aprendiendo ya sabeis siempre se nos escapa algo ...
  #1 (permalink)  
Antiguo 09/04/2012, 06:07
Avatar de ahaugas  
Fecha de Ingreso: agosto-2011
Ubicación: Madrid
Mensajes: 249
Antigüedad: 12 años, 8 meses
Puntos: 21
Exclamación problema al ejecutar el script, se queda en blanco

hola, a tod@s varan he hecho un script con la ayuda de este foro, y como estoy aprendiendo ya sabeis siempre se nos escapa algo a los novatos.

tengo un problema medio serio, en localhost me funciona a la perfeccion, no me muestra errores y ejecuta la tarea completamente bien, pero a la hora de cargarlo al servidor y ejecutarlo se me queda en blanco y la verdad no entiendo que puede estar pasando.

os muesro el code aver si me podeis echar una mano

si aparece * es del editor no lo tengo en el script me pasa al pegarlo

este es la clase de mantenimiento que he hecho

Código PHP:
<?php
    
class Maintenance {    
        
        function 
MaintenanceWebsite() {
            global 
$MaintenanceWebsite,$MaintenanceAdminIP,$MaintenanceDirectory;
            
            
$this->Website            $MaintenanceWebsite;
            
$this->AdminIP            $MaintenanceAdminIP;
            
$this->Directorys        $MaintenanceDirectory;
            
$this->RemoteAdress        $_SERVER['REMOTE_ADDR'];
            
            
$this->listIP $this->AdminIP;                             //List permited 'IP'
            
$this->findIP $this->RemoteAdress;                        //Search permited 'IP'
            
$this->ipkey  array_search($this->findIP$this->listIP); //Find IP's of given value

            
if ($this->ipkey !== false) {                                 //php 4.2.x use: if(!is_null($this->ipkey) {
            
$this->resultIP $this->listIP[$this->ipkey];                //if found, unblock user(s)
            
} else {
            
$this->resultIP "blocker";                                //if not found, block user(s)
            
}
            
            
//Display website if in maintenance mode?
            
if ($this->Website === true) {
            if((
strpos($this->RemoteAdress$this->resultIP) === 0)) {
            } else {
            if(
is_dir("".$this->Directorys."")) {
                    
header("Location: ".$this->Directorys."");
                    die();
                    }
            
//If you have a modular script of userCake
            
if(is_dir("../".$this->Directorys."")) {
                    
header("Location: ../".$this->Directorys."");
                    die();
                    }
                }
            }   
            if (
$this->Website === false) { }            
        }
    }
?>
y lo llamo asi

Código PHP:
    //now auto execute to show maintenance page
    //and only can access user with ip as defined
    
$Maintenance = new Maintenance();
    
$Maintenance->MaintenanceWebsite(); 
y las variables estan definidas asi

Código PHP:
//Website maintenance mode swicher (true or false)
    //if true, the website go to sleep for all users and only admin can access
    //Define your Ip protection for only admin access
    
$MaintenanceWebsite     true;                                    //flase ->off | true->on
    
$MaintenanceAdminIP     = array("0.0.0.0","0.0.0.0");    //Administrator IP
    
$MaintenanceDirectory    "restricted/";                        //Directory for redirect including trailing slash 
en localhost si funciona en el host no

gracias aver si entre todos encontramos el fallo
  #2 (permalink)  
Antiguo 09/04/2012, 06:30
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: problema al ejecutar el script, se queda en blanco

lo que no entiendo es por que usas global y variables globales si ya implementas POO, hay miles de formas más elegantes de pasar esas variables, si es que son variables porque puede que sirvan de constantes, además de que las hubieses pasado por constructor de clase, parámetros o getter y setters, arrays, etc..

en realidad no veo causa para que no funcione en el hosting , deberías revisar la versión de PHP de tu hosting, o ver si existe una regla de apache en el directorio que restrinja el acceso, o falta de permisos
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 09/04/2012, 06:57
Avatar de ahaugas  
Fecha de Ingreso: agosto-2011
Ubicación: Madrid
Mensajes: 249
Antigüedad: 12 años, 8 meses
Puntos: 21
Respuesta: problema al ejecutar el script, se queda en blanco

ok, entonces tengo que revisar la version de php no?
utilizo global para construir sin ella no me devuelve ningun valor es como si no utilizaria ninguna variable.

si hay alguna forma de solventar los global, me podrias indicar como por favor?

gracias
  #4 (permalink)  
Antiguo 09/04/2012, 07:37
Avatar de ahaugas  
Fecha de Ingreso: agosto-2011
Ubicación: Madrid
Mensajes: 249
Antigüedad: 12 años, 8 meses
Puntos: 21
Respuesta: problema al ejecutar el script, se queda en blanco

ya encontre el fallo, o eso creo por que me dice Parse error: syntax error, unexpected T_IF
cuando lo saco el script fuera de la clase y lo ejecuto nomrmal sin clase y sin funciones

Código PHP:
Ver original
  1. if ($this->ipkey !== false) {

pero porque en localhost si y en servidor no?
  #5 (permalink)  
Antiguo 09/04/2012, 07:53
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: problema al ejecutar el script, se queda en blanco

Cita:
Iniciado por ahaugas Ver Mensaje
si hay alguna forma de solventar los global, me podrias indicar como por favor?

gracias
no sé si esta manera es la mas correcta. es una adaptación "literal" de javascript
Cita:
<?php
class clase {
var $variable;
function fnc() {
echo $this->variable;
}
}


$nueva = new clase();
$nueva->variable = true;
$nueva->fnc();
?>
edito: se me ha ocurrido una pregunta. quizás sea una barbaridad. es posible en lugar de usar el constructor, usar literales??. ya sé que debería de probarlo antes de preguntar, pero en este equipo no tengo instalado php
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}

Última edición por IsaBelM; 09/04/2012 a las 08:08
  #6 (permalink)  
Antiguo 09/04/2012, 08:10
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: problema al ejecutar el script, se queda en blanco

@IsaBelM estas en lo cierto, aunque yo preferiría no usar var sino los modificadores public, protected o private, y como tal la estructura POO de PHP5, debido a que la de PHP4 es deficiente.

@ahaugas debes de definir las variables de la clase, es mejor una declaración explicita que implicita, además me imagino que en el hosting se han deshabilitado el informe de errores 8como debe ser ), intenta colocar error_reporting(E_ALL); para depurar, pero luego debes de eliminarlo cuando pases a producción
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #7 (permalink)  
Antiguo 09/04/2012, 09:04
Avatar de ahaugas  
Fecha de Ingreso: agosto-2011
Ubicación: Madrid
Mensajes: 249
Antigüedad: 12 años, 8 meses
Puntos: 21
Respuesta: problema al ejecutar el script, se queda en blanco

ok te digo la verdad? me sale en blanco sin errores poniendo esto error_reporting(E_ALL);

de verdad en blanco me tiene hasta las narices el script este, pero me hace falta.

y ya no se que hacer
  #8 (permalink)  
Antiguo 09/04/2012, 09:08
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: problema al ejecutar el script, se queda en blanco

si no es eso, entonces desde el PHP.ini han deshabilitado por completo los informes de errores, puede que con ini_set() puedas habilitarlo temporalmente, pero hay hostings donde lo bloquean, la alternativa que te queda es revisar los logs
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #9 (permalink)  
Antiguo 09/04/2012, 09:16
Avatar de ahaugas  
Fecha de Ingreso: agosto-2011
Ubicación: Madrid
Mensajes: 249
Antigüedad: 12 años, 8 meses
Puntos: 21
Respuesta: problema al ejecutar el script, se queda en blanco

no, si tengo errores cuando las hay, por ejemplo si quito una coma me muestra los errores pero en este caso nada no lo entiendo
  #10 (permalink)  
Antiguo 09/04/2012, 14:11
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: problema al ejecutar el script, se queda en blanco

Cita:
Iniciado por maycolalvarez Ver Mensaje
@IsaBelM estas en lo cierto, aunque yo preferiría no usar var sino los modificadores public, protected o private, y como tal la estructura POO de PHP5, debido a que la de PHP4 es deficiente.
gracias maycol por tu respuesta. si te he entendido seria esto
Cita:
class clase {
public $variable;
public function fnc() {
echo $this->variable;
}
}

$nueva = new clase();
$nueva->variable = true;
$nueva->fnc();
también he probado con literales y funciona. pero es correcto/aconsejable??
Cita:
public $clase = {
$variable: true;
$foo: function() {
echo $this->variable;
}
}

$clase->foo();
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #11 (permalink)  
Antiguo 09/04/2012, 15:08
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: problema al ejecutar el script, se queda en blanco

@IsaBelM ¿que versión de PHP tienes?, porque hasta donde sé PHP5 no admite declarar objetos de ésa forma, ni siquiera los arrays, de hecho probé tu ejemplo y no me funciona
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #12 (permalink)  
Antiguo 09/04/2012, 16:26
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: problema al ejecutar el script, se queda en blanco

tienes razón, no funciona.

lo que ha debido de ocurrir es que probé el primer código, edité ese archivo con el segundo código y se volvió ha imprimir 1. de tal modo que me lleva a pensar que se cacheó el archivo

sorry!!
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}

Etiquetas: blanco, queda, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:12.