Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

No almaceno valores

Estas en el tema de No almaceno valores en el foro de Frameworks y PHP orientado a objetos en Foros del Web. holas que tal como andan? les cuento tengo un problema con una clase que no me guarda los valores no se que pasa tengo la ...
  #1 (permalink)  
Antiguo 09/12/2007, 19:19
 
Fecha de Ingreso: diciembre-2007
Mensajes: 13
Antigüedad: 16 años, 4 meses
Puntos: 0
No almaceno valores

holas que tal como andan? les cuento tengo un problema con una clase que no me guarda los valores no se que pasa tengo la cabeza quemada hace como 10 horas que toy delante de la pc y no encuentro que pasa... espero que me ayuden


class Flog {

public $foto_pr, $nombre_pr, $ruta_pr;

public function cargaLog($usuario) {

$res = MySQL::$cxn->query("SELECT * FROM fotolog WHERE autor = '$usuario' ");
if ($res->num_rows) {
while ($row = $res->fetch_array(MYSQLI_ASSOC)) {
$this->foto_pr = $row['foto'] ;
$this->nombre_pr = $row['nombre'] ;


}
}
$barra = Sitio::getBarra();
$this->ruta_pr = get_include_path().$barra.$usuario.$barra ;
echo $this->ruta_pr.$this->nombre_pr.$this->foto_pr;
(ACA ME DEVUELVE TODOS LOS VALORES) }

public function viewVar() {
echo 'Valores: '.'<br>';
echo $this->foto_pr.'<br>';
echo $this->nombre_pr.'<br>';
echo $this->ruta_pr.'<br>';
echo '---' ;
}
}


pero dps llamo a esa funcion para ver si estan lso valores y me devuelve todos NULOS, tmb si los llamo desde otro lado, no se que esta pasando es mi primera experiencia en clases y me esta llendo bastante mal :(

necesito guardar en alguna variable los valores esos que extraigo de la consulta mysql
  #2 (permalink)  
Antiguo 10/12/2007, 03:28
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 19 años, 6 meses
Puntos: 48
Re: No almaceno valores

¿como usas esta clase?
  #3 (permalink)  
Antiguo 10/12/2007, 07:25
 
Fecha de Ingreso: septiembre-2006
Mensajes: 37
Antigüedad: 17 años, 7 meses
Puntos: 0
Re: No almaceno valores

Donde esta el metodo $cxn declarado ????
  #4 (permalink)  
Antiguo 10/12/2007, 08:53
 
Fecha de Ingreso: diciembre-2007
Mensajes: 13
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: No almaceno valores

perdon me olvide de decir que uso una clase llamada MySQL para hacer la conexion. Ahi tengo la variable $cxn que es static como veran, aunque no creo que el error venga por ahi porque la consulta la hace y los valores los trae, lo que pasa es que no quedan guardados nose porque :S

Esta clase la uso en un .php donde desde donde la llamo para que carge la informacion de la consulta, o sea recojo el $user de un _POST y llamo a esta funcion, nose si esa era tu preugnta

muchas gracias igual
  #5 (permalink)  
Antiguo 10/12/2007, 09:00
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: No almaceno valores

Estas seguro que esta linea no te marca error?:
Código PHP:
public $foto_pr$nombre_pr$ruta_pr
Haz probado ponerla asi?:
Código PHP:
public $foto_pr;
public 
$nombre_pr;
public 
$ruta_pr
Ahora según los comentarios que veo en tu código, dices que llamando a cargaLog los valores te los muestra, pero en viewVar no te los muestra, podrías mostrar donde estas implementando tu clase?.

Saludos.
  #6 (permalink)  
Antiguo 10/12/2007, 09:34
 
Fecha de Ingreso: diciembre-2007
Mensajes: 13
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: No almaceno valores

Cambie la declaracion, y creo que encontre el error jeje

Esta funcion que pertenece a 'classFlog.php' la requiero en el index.php

dps llamo a login.php y desde ahi llamo a cargaLog($user);

ahora si llamo a la funcion viewVar(); desde login.php los valores me los trae :D

Paso un poco en limpio todo:

index.php
$flog = new Flog();
$flog->viewVar(); --> no me muestra nada
login.php
$flog = new Flog();
$flog->cargaLog($usuario);
$flog->viewVar(); --> me trae los valores

lo que yo necesitaria es poder traer los valores desde cualquier lado y no solamente desde el login, alguna idea ? :D
  #7 (permalink)  
Antiguo 10/12/2007, 09:46
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: No almaceno valores

La única solución es que guardes el objeto en una variable de sesion, y cada que lo necesites regreses el objeto desde tu sesion.

Saludos.
  #8 (permalink)  
Antiguo 10/12/2007, 09:49
 
Fecha de Ingreso: diciembre-2007
Mensajes: 13
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: No almaceno valores

Bueno muchas gracias, antes lo hacia con $_SESSION pero queria probar si podia hacerlo de esta manera como veo no :D

pd: aguante latin lover (?)
  #9 (permalink)  
Antiguo 10/12/2007, 09:56
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: No almaceno valores

Los objetos en PHP no son persistentes, esto es por diseño del lenguaje, así que la única forma de hacerlos persistentes es guardándolos en una sesión, o en un medio persistente.

Saludos.

PD: no entiendo tu referencia.
  #10 (permalink)  
Antiguo 10/12/2007, 10:11
 
Fecha de Ingreso: diciembre-2007
Mensajes: 13
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: No almaceno valores

jejej no importa gracias igual :D
  #11 (permalink)  
Antiguo 12/12/2007, 09:11
Avatar de kesioo  
Fecha de Ingreso: enero-2007
Ubicación: Capital Federal, Argentina
Mensajes: 137
Antigüedad: 17 años, 3 meses
Puntos: 2
Re: No almaceno valores

una pregunta sobre sesiones que no termino de entender...
si yo creo una sesion con session_start() sin darle un nombre de identificación, hay riesgo de que 2 usuarios conectados a la vez interactuando con el formulario se sobreescriban sus sesiones? o no funciona asi?

yo tengo un proceso de registro en varios formularios. Si completa bien los datos del primero, pasa al 2do y alli hago:

session_start();
$_SESSION['Registro'] = $_POST;

para poder guardar en esa sesion todos los campos del form anterior, y asi seguiria hasta el ultimo. Entonces si todo lo nec fue completado, recien ahi envia a la base de datos.

deberia ponerle un identificador? de ser asi, como puedo hacer para ponerle uno que sea siempre distinto del de cualquier otro usuario (que pudiera estar completando el registro en ese momento?

saludoos
  #12 (permalink)  
Antiguo 12/12/2007, 09:18
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: No almaceno valores

Si no le pasas un nombre a session_start() se crea una sesion con el nombre por defecto (PHPSESSION).

No hay forma de que dos sesiones de diferentes usuarios se sobreescriban a menos que uno de los usuarios inyecte una cookie con el sessionid del primer usuario (Busca en google ataque XSS).

Saludos.
  #13 (permalink)  
Antiguo 12/12/2007, 09:54
Avatar de kesioo  
Fecha de Ingreso: enero-2007
Ubicación: Capital Federal, Argentina
Mensajes: 137
Antigüedad: 17 años, 3 meses
Puntos: 2
Re: No almaceno valores

Hola gatorV!!

pero me puede llegar a generar algun inconveniente usar PHPSESSION? es inseguro?

porque si es mejor darle un identificador unico no se como hacer, ya que se estarian registrando... no tengo ningun dato del mismo en la BD como para hacerlo...

gracias responder!!
  #14 (permalink)  
Antiguo 12/12/2007, 09:56
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: No almaceno valores

Es inseguro en el ámbito que los ataques para robar cookies buscan una cookie llamada PHPSESSION, si tu usas otro "nombre" en tu sesion harás tu script mas seguro contra un ataque XSS.

Saludos.
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:25.