Foros del Web » Programando para Internet » PHP »

problema con variables

Estas en el tema de problema con variables en el foro de PHP en Foros del Web. Estoy construyendo un formulario que llama a varios archivos php tales como al fichero que comunica la base de datos y otros constructores de este. ...
  #1 (permalink)  
Antiguo 19/12/2011, 15:02
starlightphp
Invitado
 
Mensajes: n/a
Puntos:
Pregunta problema con variables

Estoy construyendo un formulario que llama a varios archivos php tales como al fichero que comunica la base de datos y otros constructores de este. El caso es que aprovechando la variable de php $_SESSION, llamo a todos mis ficheros php sin problema de rutas. El problema viene cuando activo el error_reporting:
error_reporting(E_ALL | E_STRICT);
y el ini_set:
ini_set('display_errors',-1);

me empieza a tirar errores en la página, todos iguales:

Strict Standards: Non-static method UIProvider::GetName() should not be called statically in /home/www/devstarlight.com/framework/classes/Text.php on line 17

Entiendo que no es muy grave porque por lo que leo es una recomendación para que no ponga la ruta absoluta o algo así, el problema es que he intentado ponerla relativa y no me funciona bien. Alguien sabe alguna alternativa?
  #2 (permalink)  
Antiguo 19/12/2011, 15:12
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: problema con variables

En la línea 17 del archivo Text.php debe haber algo así
Código PHP:
Ver original
  1. UIProvider::GetName(....

El error dice que no puedes llamar a la función GetName estáticamente, es decir, necesitas tener una instancia para hacer algo como:
Código PHP:
Ver original
  1. // Inicias una instancia de UIProvider
  2. $instancia = new UIProvider;
  3. $instancia->GetName(...

Saludos

PD: Y sí, si es grave, imagina que esa función devuelva un parámetro crucial para tu aplicación, pero resulta que no puede ser llamada, por consecuencia no retorna nada, no obtienes el valor y toda tu aplicación colapsa.
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #3 (permalink)  
Antiguo 19/12/2011, 15:15
starlightphp
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problema con variables

ostrás! pues muchas gracias! siquiera sabía lo que era instanciar! pero ya me he enterado! gracias!
  #4 (permalink)  
Antiguo 19/12/2011, 15:15
 
Fecha de Ingreso: julio-2010
Mensajes: 393
Antigüedad: 13 años, 8 meses
Puntos: 67
Respuesta: problema con variables

Nooooo, no se está refiriendo a la ruta, sino que tienes un método llamado GetName() que estás llamando de de forma estática y no es un método estático.

Por favor pega lo que tienes en la línea 17

Saludos!
__________________
Páginas web de alta calidad y hechas a la medida.
  #5 (permalink)  
Antiguo 19/12/2011, 15:16
 
Fecha de Ingreso: julio-2010
Mensajes: 393
Antigüedad: 13 años, 8 meses
Puntos: 67
Respuesta: problema con variables

mi nick es el_quick pero Sourcegeek me dejó muuuuuuy atrás con la repuesta jajaja.
__________________
Páginas web de alta calidad y hechas a la medida.
  #6 (permalink)  
Antiguo 19/12/2011, 15:18
starlightphp
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problema con variables

sí sí, Sourcegreek tiene toda la razón, esta es mi línea 17!
$User_Nickname = UIProvider::GetName();
  #7 (permalink)  
Antiguo 19/12/2011, 15:20
 
Fecha de Ingreso: julio-2010
Mensajes: 393
Antigüedad: 13 años, 8 meses
Puntos: 67
Respuesta: problema con variables

Ok, entonces cambiala y dejala así:

$User_Nickname = UIProvider->GetName();

Tal y como te lo indicó Sourcegeek.
__________________
Páginas web de alta calidad y hechas a la medida.
  #8 (permalink)  
Antiguo 19/12/2011, 15:25
starlightphp
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problema con variables

tras poner esas 2 líneas;
Código PHP:
Ver original
  1. $User_Nickname = New UIProvider;
  2.      $User_Nickname->GetName();
me salta este error en la web:
Fatal error: Cannot use object of type UIProvider as array in /home/www/devstarlight.com/framework/classes/Text.php on line 29
en la línea 29 de ese archivo tengo esto:
Código PHP:
Ver original
  1. $print.='<p>Bienvenido <b>'.base64_decode($User_Nickname[0]).'</b>. <br/><br/>
alguna idea?
  #9 (permalink)  
Antiguo 19/12/2011, 15:32
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: problema con variables

Si te fijas, en ésta línea le asignaste un objeto a la variable $User_Nickname:
Código PHP:
Ver original
  1. $User_Nickname = New UIProvider;

Ese objeto lo intentas usar como array y encima aplicarle base64_decode, eso no es posible.
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #10 (permalink)  
Antiguo 19/12/2011, 15:42
starlightphp
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problema con variables

claro, el problema es que necesito traer ese dato de algún modo.
si declaro esa variable como array es posible?
  #11 (permalink)  
Antiguo 19/12/2011, 15:47
starlightphp
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problema con variables

creo que el tema puede andar con constructs
  #12 (permalink)  
Antiguo 19/12/2011, 15:52
 
Fecha de Ingreso: julio-2010
Mensajes: 393
Antigüedad: 13 años, 8 meses
Puntos: 67
Respuesta: problema con variables

busca una línea parecida a esta (le puse $variable, tú debes tener otro nombre):

Código PHP:
Ver original
  1. $variable = New UIProvider;

Luego, la línea 17 debe quedarte más o menos así (recuerda sustituir $variable):

Código PHP:
Ver original
  1. $User_Nickname = $variable->GetName();

Y por último la línea con el nuevo error (si te fijas ya no es array):

Código PHP:
Ver original
  1. $print.='<p>Bienvenido <b>'.base64_decode($User_Nickname).'</b>. <br/><br/>

Y ahora si, por último, lee sobre POO en PHP.

Cuentanos como te fué con eso.
__________________
Páginas web de alta calidad y hechas a la medida.
  #13 (permalink)  
Antiguo 19/12/2011, 16:26
starlightphp
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problema con variables

funciona como un reloj suizo! gracias por todo! y gracias por darme documentación para leer! que estoy empezando, llevo 2 semanas y como esto es tan grande pues no sé por donde atacar =).

Etiquetas: formulario, 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 22:48.