Saludos, tengo un problema, cree un formulario con datos basicos de usuario, estos los guardo en un objeto, y este objeto lo guardo en la sesion. Entonces, como ocupo guardar y guardar usuarios... hice una arreglo de objetos que se guarde en session,..., en teoria supongo voy bien... bueno dejo el codigo:
class.php
Código PHP:
class Usuario {
public $Nombre;
public $Edad;
public $Sexo;
public $Domicilio;
public $Telefono;
public $Salario;
public $RFC;
public function __construct($Nombre,$Edad,$Sexo,$Domicilio,$Telefono,$Salario,$RFC)
{
$this->Nombre = $Nombre;
$this->Edad = $Edad;
$this->Sexo = $Sexo;
$this->Domicilio = $Domicilio;
$this->Telefono = $Telefono;
$this->Salario = $Salario;
$this->RFC = $RFC;
$this->Campos = array("Nombre", "Edad", "Sexo", "Domicilio", "Telefono", "Salario", "RFC");
}
public function __destruct() {
}
public function imprime()
{
echo $this->Nombre;
echo $this->Nombre;
echo $this->Edad;
echo $this->Sexo;
echo $this->Domicilio;
echo $this->Telefono;
echo $this->Salario;
echo $this->RFC;
}
}
index.php
Código PHP:
session_start();
echo'<link href="estilo.css" rel="stylesheet" type="text/css">';
require "funciones.php";
require "class.php";
echo'<title>: Probando Objetos :</title>';
pon_tabla();
@$op=$_GET['op'];
@$file=$_GET['archivo'];
if($op=="source")
{
if($file=="class")
highlight_file("class.php");
else
highlight_file("index.php");
}
else
{
if(isset($_POST['enviar']))
{
if(isset($_SESSION['cont']))
{
$_SESSION['cont'] = $_SESSION['cont']+1;
$_SESSION['Objetos'][]=new Usuario($_POST['nombre'], $_POST['edad'], $_POST['sexo'], $_POST['domicilio'], $_POST['telefono'], $_POST['salario'], $_POST['rfc']);
echo $_SESSION['cont'];
}
else
{
$_SESSION['cont']=1;
$_SESSION['Objetos']=array();
$_SESSION['Objetos'][]=new Usuario($_POST['nombre'], $_POST['edad'], $_POST['sexo'], $_POST['domicilio'], $_POST['telefono'], $_POST['salario'], $_POST['rfc']);
echo $_SESSION['cont'];
}
}
/* conclusion .. todo esto esta bien.. el pedo es abajo!!!*/
/*
esto si jala.. pero ocupo arreglos en sesion.
$Objetos = array (); // Definimos la variable Objetos ce tipo arreglo //
// Llenamos el arreglo con objetos, realizando instancia hacia la clase usuario //
$Objetos[]=new Usuario("Carlos G. Lopez","24","Masculino","Othon Almada #119","2147046","123456","LORC-810930-KW0");
$Objetos[]=new Usuario("Victor M. Lopez","54","Masculino","eduardo lever","565863","15648","GNO-960722-751");
$Objetos[]=new Usuario("Marina de la Rosa","50","Femenino","Reyes y naranjo","154153","2142831","GNO-960722-751");
// Vaciamos nuestro arreglo de objetos, sacando tantos objetos hayamos guardado //
foreach ($Objetos as $Obj)
{
echo '<br><span class="txt2">'.$Obj.'</span><br>';
// Por cada objetos, tenemos una variable que guarda los tipos de campos de nuestro objetos //
foreach($Obj->Campos as $Campo)
echo '<span class="txt2">'.$Campo.': </span><span class="txt1">'.$Obj->$Campo.'</span><br>';
}
*/
/* !!!!FUNCIONAAA!!! :@ */
if(isset($_POST['ejecutar']))
{
echo '<span class="txt2">Usuarios agregados: '.$_SESSION['cont'].'</span><br>';
foreach($_SESSION['Objetos'] as $Objeto)
{
foreach ( $Objeto as $Obj)
{
echo '<br><span class="txt2">'.$Obj.'</span><br>';
foreach($Obj->Campos as $Campos)
echo '<span class="txt2">'.$Campos.': </span><span class="txt1">'.$Obj->$Campos.'</span><br>';
}
}
}
}
El problema esta en el vaciado a como veo, porque los datos al parecer si se guardan bien. Hice varios ejemplos ... dos foreach... vaciados manuales.. pero no lo logro imprimir todos los objetos de maenra correcta..
Saludos!