Ok, no sé si este es todo el código o falta algo. En total, todo el código que posteas no hace absolutamente nada, te pongo los comentarios en PHP:
Código PHP:
Ver original$vehiculo=new VoDAOClass();//Llama al constructor de la classe pero el constructor no hace nada
$_SESSION["vehiculo"]= $vehiculo;
Constructor:
Código PHP:
Ver originalfunction __construct() {
$marca="";
$modelo="";
$tipo_vehiculo="";
$matricula="";
$fecha_mat="";
$equipamiento="";
$fecha_pub="";
$kilometros="";
$pma="";
$precio_venta="";
$precio_nuevo="";
$precio_compra="";
//Este código no hace nada, primero porque las variables son locales, segundo porque no llama a ninguna otra función
}
Para que funcione, deberías hacer algo así:
Código PHP:
Ver originalif (isset($_SESSION["autentificado"])){ if ($_SESSION["autentificado"]=="no"){
header("Location: privado.php"); }
}
else
header("Location: privado.php");
if (!isset($_SESSION["vehiculo"]) && isset($_POST)){ $v = new VoDAOClass();
if(!$vehiculo->load($_POST['matricula']))
{
$vehiculo->matricula = "";
$_SESSION["vehiculo"] = $vehiculo->save();
};
}
else $vehiculo=$_SESSION["vehiculo"];
La classe hay que reescribirla porque está mal diseñada y tiene varios fallos pero supongo que te podría funcionar. Al tu código, tienes que agregarle el envio del formulario, si se está enviando el form entonces guardar el objeto, de lo contrario crearlo. Es un poco confuso el código.