Foros del Web » Programando para Internet » PHP »

Fatal error en proceso

Estas en el tema de Fatal error en proceso en el foro de PHP en Foros del Web. Hola estoy creando un sitio, y estoy utilizando sesiones y funciones para manejar los formularios, utilizando el ejemplo de aquí http://evolt.org/PHP-Login-System-with-Admin-Features . Tengo un formulario, ...
  #1 (permalink)  
Antiguo 22/12/2009, 08:25
Avatar de blogger  
Fecha de Ingreso: diciembre-2005
Ubicación: frente al monitor
Mensajes: 398
Antigüedad: 18 años, 4 meses
Puntos: 12
Fatal error en proceso

Hola estoy creando un sitio, y estoy utilizando sesiones y funciones para manejar los formularios, utilizando el ejemplo de aquí http://evolt.org/PHP-Login-System-with-Admin-Features.

Tengo un formulario, con un campo en hidden para verificar en la sesión y llamar a la función, pero me marca el siguiente error:

Fatal error: Call to undefined method Process::procRecreaHist() in process.php on line 39

y en el process.php la linea 39 se ve así:
Código PHP:
  function Process(){ 
      global 
$session
      
/* User submitted login form */ 
      
if(isset($_POST['sublogin'])){ 
         
$this->procLogin(); 
      } 

      
/*Usuario crea uncontenido*/
      
else if(isset($_POST['creahist'])){ 
         
$this->procRecreaHist(); <----- linea 39
      

Pero más abajo tengo definido ese proceso
Código PHP:
   /** 
    * procCreaHist - Crea la historia 
    */ 
   
function procRecreaHist(){ 
      global 
$session$form
      
/* Account edit attempt */ 
      
$retval $session->creaHist($_POST['user'], $_POST['title'], $_POST['code']); 
 
      
/* Account edit successful */ 
      
if($retval){ 
         
$_SESSION['creaHist'] = true
         
header("Location: ".$session->referrer); 
      } 
      
/* Error found with form */ 
      
else{ 
         
$_SESSION['value_array'] = $_POST
         
$_SESSION['error_array'] = $form->getErrorArray(); 
         
header("Location: ".$session->referrer); 
      }

Alguien puede ayudarme, que estoy haciendo mal?
__________________
http://exegesis-biblica.com/
  #2 (permalink)  
Antiguo 22/12/2009, 09:25
Avatar de blogger  
Fecha de Ingreso: diciembre-2005
Ubicación: frente al monitor
Mensajes: 398
Antigüedad: 18 años, 4 meses
Puntos: 12
Respuesta: Fatal error en proceso

¿alguien que me ayude?
__________________
http://exegesis-biblica.com/
  #3 (permalink)  
Antiguo 22/12/2009, 10:26
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Fatal error en proceso

A mi entender, el problema es

Código PHP:
function Process(){ 
      global 
$session
      
/* User submitted login form */ 
      
if(isset($_POST['sublogin'])){ 
         
         
#porq $this ??
          
procLogin(); 
      } 

      
/*Usuario crea uncontenido*/
      
else if(isset($_POST['creahist'])){ 
         
procRecreaHist();
      }  
# --> aca te falto una llave 
  #4 (permalink)  
Antiguo 22/12/2009, 10:33
Avatar de blogger  
Fecha de Ingreso: diciembre-2005
Ubicación: frente al monitor
Mensajes: 398
Antigüedad: 18 años, 4 meses
Puntos: 12
Respuesta: Fatal error en proceso

this-> se encuentra en la estructura original del process.php, revisaste el enlace que te mostre?

yo solo añadí las lineas para la función que quiero hacer, siguiendo el ejemplo que se muestra.
__________________
http://exegesis-biblica.com/
  #5 (permalink)  
Antiguo 22/12/2009, 10:39
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Fatal error en proceso

Perdon che! no me habia fijado, me parecia muy raro que usara $this si no estas en una clase =P. Mal yo que no me fije, perdon otra vez

El metodo lo definiste dentro del ambito de la clase o fuera? Deberia estar dentro
  #6 (permalink)  
Antiguo 22/12/2009, 10:47
Avatar de blogger  
Fecha de Ingreso: diciembre-2005
Ubicación: frente al monitor
Mensajes: 398
Antigüedad: 18 años, 4 meses
Puntos: 12
Respuesta: Fatal error en proceso

esta definido dentro
__________________
http://exegesis-biblica.com/
  #7 (permalink)  
Antiguo 22/12/2009, 10:55
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Fatal error en proceso

Tenes definido el metodo creaHist?
  #8 (permalink)  
Antiguo 22/12/2009, 10:59
Avatar de blogger  
Fecha de Ingreso: diciembre-2005
Ubicación: frente al monitor
Mensajes: 398
Antigüedad: 18 años, 4 meses
Puntos: 12
Respuesta: Fatal error en proceso

a mi entender ese método se crea en sessions.php, y ahí puse algo así:

Código PHP:
    /** 
    * Crea la historia 
    */ 
   
function creaHist($subuser$subtitle$subcode){ 
      global 
$database$form;  //The database and form object 
 
         
if($database->creaNewHist($subuser$subtitle$subcode)){ 
            return 
true;  //New user added succesfully 
         

 
      
/* Success! */ 
      
return true
   } 
Pero no sé si este bien definido, o donde debería ir el metodo?
__________________
http://exegesis-biblica.com/
  #9 (permalink)  
Antiguo 22/12/2009, 11:11
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Fatal error en proceso

Lo estuve viendo el codigo, es larguisimo la verdad... Pero me parece que el principal problema es el encapsulamiento... demasiada variable global a mi gusto. Debe haber un drama por ese lado tal vez...

Yo te recomiendo que te hagas tus propias clases porq sino al tener algo tan extenso que no hiciste vos, se hace muy complejo encontrar el error.

En cuanto al codigo que tenes:

La verdad no lo comprendo 100% me tendria que poner a verlo, pero la variable global $session a la que queres acceder es la misma en la que se crea el objeto Session verdad? Paraacceder a ella deberias usar el array $_GLOBALS me parece

Sino proba poniendo
Código PHP:
public static function creaHist($subuser$subtitle$subcode){ 
     global 
$database$form;  //The database and form object 
 
         
if($database->creaNewHist($subuser$subtitle$subcode)){ 
            return 
true;  //New user added succesfully 
         

 
      
/* Success! */ 
      
return true
   } 
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 06:28.