Saludos expertos!
Tengo un problema para pasar clases por POST. He visto que en lel foro ya hay diversas soluciones pero ninguna de ellas me ha servido de momento. Se trata de un ejemplo muy sencillo simplemente para aprender, y les estaría tremendamente agradecido si me ayudan a encontrar el problema.
El código es tal que así:
Este es el archivo de las clases
class person{
public $given_name;
public $family_name;
function get_given_name()
{
}
function set_given_name()
{
}
}
class guest extends person {
function get_sponsor()
{
}
function set_sponsor()
{
}
}
function StringToArray($string)
{
//$tmp = stripslashes($string);
$tmp = urldecode($tmp);
$tmp = unserialize($tmp);
return $tmp;
}
function ArrayToString($array)
{
$tmp = serialize($array);
$tmp = urlencode($tmp);
return $tmp;
}
Este es el php de salida.
<?php
include "classes.php";
$invitado = new guest();
$invitado->family_name="nombre";
$sinvitado=ArrayToString($invitado);
?>
<form method="post" action="prueba2.php">
<input type="hidden" name="sinvitado" value="<?php echo $sinvitado?>"></input>
<input type="hidden" name="nombre" value="<?php echo $invitado->family_name?>"></input>
<input type="submit" value="Probar">
</form>
Y este en el que recibo.
<?php
include "classes.php";
$invitado = StringToArray($_POST["sinvitado"]);
echo ($invitado->family_name);
echo ($_POST["nombre"]);
?>
La cuestión es que no hay problema para pasar el nombre sólo, pero si trato de pasar toda la clase no consigo nada. ¿Alguna sugerencia?