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

array de objetos. ¿Cómo los paso de un script a otro?

Estas en el tema de array de objetos. ¿Cómo los paso de un script a otro? en el foro de Frameworks y PHP orientado a objetos en Foros del Web. No se que hacer.... Como paso un array de objetos (o de cualquier cosa) de una pagina a otra?? por favor ayudenme!!!!!!!...
  #1 (permalink)  
Antiguo 19/03/2005, 17:45
 
Fecha de Ingreso: enero-2005
Mensajes: 9
Antigüedad: 20 años
Puntos: 0
array de objetos. ¿Cómo los paso de un script a otro?

No se que hacer....

Como paso un array de objetos (o de cualquier cosa) de una pagina a otra??

por favor ayudenme!!!!!!!

  #2 (permalink)  
Antiguo 19/03/2005, 18:49
Avatar de braulito  
Fecha de Ingreso: abril-2004
Ubicación: Cusco - Perú
Mensajes: 597
Antigüedad: 20 años, 8 meses
Puntos: 8
Trata usando sesiones:

En la primera página la guardas asi:
Código PHP:
$foo = array(1,2,3,4);
session_start();
session_register("foo"); 
Y en la otra página la recoges asi:

Código PHP:
session_start();
$newfoo $_SESSION["foo"]; 
__________________
Braulio Soncco
braulio at buayacorp dot com
Buayacorp - Programación y Diseño
  #3 (permalink)  
Antiguo 21/03/2005, 07:08
 
Fecha de Ingreso: enero-2005
Mensajes: 9
Antigüedad: 20 años
Puntos: 0
gracias.... me funcionó bien para las variables. Pero los objetos andan mal.
Los atributos no se guardan.

¿Qué puedo hacer? .....
  #4 (permalink)  
Antiguo 21/03/2005, 07:18
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 22 años, 6 meses
Puntos: 16
Hola,

Antes del session_start() debes incluir la definicion de las clases de los objetos de la sesion:
Código PHP:
require_once('miclase.class.php');
session_start(); 
Es como cuando haces un new, antes tienes que definir la clase.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 31/03/2005, 21:39
 
Fecha de Ingreso: enero-2005
Mensajes: 9
Antigüedad: 20 años
Puntos: 0
Cita:
Iniciado por josemi
Hola,

Antes del session_start() debes incluir la definicion de las clases de los objetos de la sesion:
Código PHP:
require_once('miclase.class.php');
session_start(); 
Es como cuando haces un new, antes tienes que definir la clase.

Saludos.

muchas gracias!!....(sorry lo tarde de la resp)....
una pregunta...¿pasa con las funciones serialize y unserialize?. No las sé usar, sin embargo creo que ellas son las que solucionan el problema.
Además leí otro mensaje por ahí donde plantean un problema parecido, eso sí la solución es guardar la información del objeto en una base de datos, y descargarla siempre al cargar otra página....


No entiendo por qué funciona lo que tu planteas y a veces no.

Saludos
  #6 (permalink)  
Antiguo 31/03/2005, 22:06
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 21 años, 2 meses
Puntos: 1
Aqui esta lo que necesitas
http://www.php.net/manual/en/languag...ialization.php
antes de preguntar en los foros, consulta la documentacion oficial y luego ya puedes venir con preguntas mas concretas.
  #7 (permalink)  
Antiguo 01/04/2005, 16:33
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 21 años, 3 meses
Puntos: 41
Para guardar los objetos en sesiones no necesitas serializarlos/desserializarlos manualmete, pues esta operación es automática.
Prueba el siguiente ejemplo:
Código PHP:
<?php
error_reporting
(E_ALL);

class 
miClase{
    var 
$atributo;
    function 
miClase($atrib){
        
$this->atributo $atrib;
    }
}

session_start();
if(isset(
$_SESSION['objs_array'])){
    
$mi_array $_SESSION['objs_array'];
    echo 
"objeto leído desde la sesión<hr />";
}else{
    for(
$i=1;$i<=5;$i++){
        
$mi_array[] = new miClase("Objeto número $i");
    }
    
$_SESSION['objs_array'] = $mi_array;
    echo 
"objeto recién creado<hr />";
}
echo 
"<pre>";
var_dump($mi_array);
echo 
"</pre>";

echo 
"<hr />"
echo 
"<a href=\"".$_SERVER['PHP_SELF']."\">recargar</a>";
?>
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 02:41.